Information processing method, information processing apparatus, and program
The information processing method and device use an evolutionary optimization algorithm to generate and refine solutions through crossover and mutation, addressing the challenge of obtaining diverse feasible solutions while satisfying constraints, thereby improving development efficiency and diversity.
Patent Information
- Application Number
- JP2024099896
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-20
- Publication Date
- 2026-01-08
AI Technical Summary
Existing methods struggle to obtain diverse feasible solutions while satisfying constraints, leading to biased outcomes in development processes.
An information processing method and device utilizing an evolutionary optimization algorithm to generate and evolve individual data through crossover and mutation processes, calculating evaluation values and fitness based on constraint satisfaction and diversity, to iteratively refine solutions.
Enables the generation of a variety of solutions that satisfy constraints with minimal bias, enhancing the efficiency and diversity of development outcomes.
Smart Images

Figure 2026002140000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing method, an information processing device, and a program for obtaining a feasible solution that satisfies constraints. [Background technology]
[0002] For example, in the development of parts and materials, it is desirable to obtain in advance multiple feasible solutions that satisfy constraints for various parameters related to the development target. This knowledge can then be used to efficiently advance development work. For example, Patent Document 1 discloses a technology for obtaining a combination of rubber raw material formulations that satisfies constraints in the design of rubber materials. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2020-030683 Summary of the Invention [Problem to be solved by the invention]
[0004] When obtaining multiple feasible solutions, it is desirable to obtain diverse solutions with little bias while satisfying constraints, and it is expected that diverse solutions can be obtained effectively.
[0005] It is desirable to provide an information processing method, an information processing device, and a program that can obtain a variety of solutions while satisfying constraints. [Means for solving the problem]
[0006] An information processing method according to one embodiment of the present invention includes a first process of generating an individual data group including the first plurality of individual data by randomly generating a first plurality of individual data, each of which includes a plurality of setting values for a plurality of parameters; a second process of calculating a first evaluation value for each of the first plurality of individual data according to the degree to which the constraint conditions are satisfied and calculating a fitness based on the first evaluation value; a third process of determining whether each of the first plurality of individual data is a feasible solution based on the fitness of each of the first plurality of individual data calculated by the second process; a fourth process of generating a second plurality of individual data by performing a crossover process and a mutation process based on the first plurality of individual data included in the individual data group; and a fourth process of calculating a first evaluation value for each of the second plurality of individual data according to the degree to which the constraint conditions are satisfied and calculating a data comparison between the first plurality of individual data and one or more individual data determined to be a feasible solution. a fifth process of calculating a second evaluation value according to the degree of difference between the first and second evaluation values and calculating a fitness based on the first and second evaluation values; a sixth process of determining whether each of the second plurality of individual data is a feasible solution based on the fitness of each of the second plurality of individual data calculated by the fifth process; a seventh process of selecting multiple individual data from the first plurality of individual data and the second plurality of individual data based on the fitness of each of the first plurality of individual data included in the individual data group and the fitness of each of the second plurality of individual data calculated by the fifth process, and updating the individual data group by using the selected multiple individual data as the first plurality of individual data; and an eighth process of repeating the fourth process, the fifth process, the sixth process, and the seventh process multiple times in this order, and then outputting one or more individual data determined to be a feasible solution.
[0007] An information processing device according to an embodiment of the present invention includes a processing circuit capable of performing a first process, a second process, a third process, a fourth process, a fifth process, a sixth process, a seventh process, and an eighth process. The first process includes generating an individual data group including the first plurality of individual data by randomly generating a first plurality of individual data, each of which includes a plurality of setting values for a plurality of parameters. The second process includes calculating a first evaluation value for each of the first plurality of individual data according to the degree to which the constraints are satisfied, and calculating fitness based on the first evaluation value. The third process includes determining whether each of the first plurality of individual data is a feasible solution based on the fitness of each of the first plurality of individual data calculated by the second process. The fourth process includes generating a second plurality of individual data by performing a crossover process and a mutation process based on the first plurality of individual data included in the individual data group. The fifth process includes calculating a first evaluation value for each of the second plurality of individual data according to the degree to which the constraints are satisfied, and calculating a second evaluation value according to the degree of difference between the data and one or more individual data determined to be a feasible solution, and calculating fitness based on the first evaluation value and the second evaluation value. The sixth process includes determining whether each of the second plurality of individual data is a feasible solution based on the fitness of each of the second plurality of individual data calculated by the fifth process. The seventh process includes selecting multiple individual data from the first plurality of individual data and the second plurality of individual data based on the fitness of each of the first plurality of individual data included in the individual data group and the fitness of each of the second plurality of individual data calculated by the fifth process, and updating the individual data group by using the selected multiple individual data as the first plurality of individual data. The eighth process includes repeating the fourth process, the fifth process, the sixth process, and the seventh process multiple times in this order, and then outputting one or more individual data determined to be a feasible solution.
[0008] A program according to one embodiment of the present invention includes a first process of generating an individual data group including the first plurality of individual data by randomly generating a first plurality of individual data, each of which includes a plurality of setting values for a plurality of parameters; a second process of calculating a first evaluation value for each of the first plurality of individual data according to the degree to which the constraint conditions are satisfied and calculating a fitness based on the first evaluation value; a third process of determining whether each of the first plurality of individual data is a feasible solution based on the fitness of each of the first plurality of individual data calculated by the second process; a fourth process of generating a second plurality of individual data by performing a crossover process and a mutation process based on the first plurality of individual data included in the individual data group; and a fourth process of calculating a first evaluation value for each of the second plurality of individual data according to the degree to which the constraint conditions are satisfied and calculating a fitness based on the one or more individual data determined to be a feasible solution. and calculating a fitness based on the first evaluation value and the second evaluation value; a sixth process of determining whether each of the second plurality of individual data is a feasible solution based on the fitness of each of the second plurality of individual data calculated by the fifth process; a seventh process of selecting multiple individual data from the first plurality of individual data and the second plurality of individual data based on the fitness of each of the first plurality of individual data included in the individual data group and the fitness of each of the second plurality of individual data calculated by the fifth process, and updating the individual data group by using the selected multiple individual data as the first plurality of individual data; and an eighth process of repeating the fourth process, the fifth process, the sixth process, and the seventh process in this order a plurality of times, and then outputting one or more individual data determined to be a feasible solution. [Effects of the Invention]
[0009] According to an information processing method, an information processing device, and a program according to an embodiment of the present invention, it is possible to obtain a variety of solutions while satisfying constraints. [Brief explanation of the drawings]
[0010] [Figure 1] FIG. 1 is a block diagram showing an example of the configuration of an information processing device according to an embodiment of the present invention. [Figure 2] FIG. 2 is an explanatory diagram showing an example of a constraint satisfaction problem handled by the information processing device shown in FIG. [Figure 3] FIG. 3 is a flowchart illustrating an example of an information processing method in the information processing device shown in FIG. [Figure 4] FIG. 4 is an explanatory diagram illustrating an example of the operation of the information processing method shown in FIG. [Figure 5] FIG. 5 is another explanatory diagram illustrating an operation example of the information processing method shown in FIG. [Figure 6] FIG. 6 is another explanatory diagram illustrating an operation example of the information processing method shown in FIG. [Figure 7] FIG. 7 is another explanatory diagram illustrating an operation example of the information processing method shown in FIG. [Figure 8] FIG. 8 is another explanatory diagram illustrating an operation example of the information processing method shown in FIG. [Figure 9] FIG. 9 is another explanatory diagram illustrating an operation example of the information processing method shown in FIG. [Figure 10] FIG. 10 is another explanatory diagram illustrating an operation example of the information processing method shown in FIG. [Figure 11] FIG. 11 is an explanatory diagram showing an example of individual data that are similar to each other. [Figure 12] FIG. 12 is an explanatory diagram showing an example of characteristics of the information processing method shown in FIG. [Figure 13] FIG. 13 is a flowchart showing an example of an operation for generating initial individual data in an information processing method according to a modified example. [Figure 14A] FIG. 14A is an explanatory diagram illustrating an operation example of the information processing method shown in FIG. [Figure 14B] FIG. 14B is another explanatory diagram illustrating an operation example of the information processing method shown in FIG. [Figure 14C]FIG. 14C is another explanatory diagram illustrating an operation example of the information processing method shown in FIG. [Figure 14D] FIG. 14D is another explanatory diagram illustrating an operation example of the information processing method shown in FIG. DETAILED DESCRIPTION OF THE INVENTION
[0011] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0012] <Embodiment> [Configuration example] 1 shows an example of the configuration of an information processing device (information processing device 1) according to an embodiment of the present invention. The information processing device 1 is, for example, a personal computer, and is configured to use an evolutionary optimization algorithm to obtain multiple feasible solutions that satisfy constraints.
[0013] Constraint satisfaction problems, which involve obtaining multiple solutions that satisfy constraints, can be used in a variety of applications. For example, in motor design, various parameters such as surface area and component size are used as explanatory variables to obtain combinations of these explanatory variables that satisfy constraints. Constraints can include, for example, conditions on motor characteristics such as average torque, and conditions on the structure such as component size and the size of a portion of a component.
[0014] For the sake of convenience, this specification will be described by taking as an example a hypothetical constraint satisfaction problem as shown below.
[0015] FIG. 2 shows the constraint satisfaction problem addressed in this specification. In this problem, the explanatory variables are variables x1, x2, x3, x4, and x5. The values of these variables x1 to x5 are between "0" and "10". There are two constraints on these explanatory variables. The first constraint is that, as shown using formula C1, the result of subtracting the value of variable x2 from the value of variable x1 is "0" or greater. The second constraint is that, as shown using formula C2, the result of subtracting "30" from the sum of the values of variables x1 to x5 is "0" or greater. In this constraint satisfaction problem, a combination of variables x1 to x5 that satisfies these two constraints is obtained as a feasible solution. The set of values of variables x1 to x5 is hereinafter also referred to as individual data DT.
[0016] As shown in FIG. 2, for example, if the individual data DT is (7,5,3,3,0), the evaluation value indicated by the left side of formula C1 is "2", and the evaluation value indicated by the left side of formula C2 is "-12". Because the evaluation value indicated by the left side of formula C1 is a positive value, this individual data DT satisfies the first constraint. On the other hand, because the evaluation value indicated by the left side of formula C2 is a negative value, this individual data DT does not satisfy the second constraint. Therefore, this individual data DT is not a feasible solution.
[0017] For example, if the individual data DT is (2,8,9,7,5), the evaluation value indicated by the left side of formula C1 is "-6", and the evaluation value indicated by the left side of formula C2 is "1". Because the evaluation value indicated by the left side of formula C2 is a positive value, this individual data DT satisfies the second constraint. On the other hand, because the evaluation value indicated by the left side of formula C1 is a negative value, this individual data DT does not satisfy the first constraint. Therefore, this individual data DT is not a feasible solution.
[0018] For example, if the individual data DT is (7, 5, 8, 5, 10), the evaluation value indicated by the left side of formula C1 is "2", and the evaluation value indicated by the left side of formula C2 is "5". Since these two evaluation values are both positive values, this individual data DT satisfies both constraints. Therefore, this individual data DT can be a feasible solution.
[0019] A plurality of individual data DT that satisfy such constraints can be obtained with this information processing device 1. In particular, with this information processing device 1, it is possible to obtain diverse individual data DT with little bias, as will be described later.
[0020] As shown in FIG. 1, the information processing device 1 includes a processing unit 10, a storage 31, a memory 32, a communication unit 33, a keyboard , a mouse , and a display .
[0021] The processing unit 10 is configured using, for example, a processor and is configured to perform processing by executing a program. The processing unit 10 has an explanatory variable setting unit 11, a constraint condition setting unit 12, a calculation parameter setting unit 13, an initial individual data generation unit 21, an individual data generation unit 22, an evaluation value calculation unit 23, a diversity evaluation value calculation unit 24, a fitness calculation unit 25, an individual data group update unit 26, a feasible solution determination unit 27, and an output processing unit 28.
[0022] The explanatory variable setting unit 11 is configured to set explanatory variables based on data input by the user, for example, by operating the keyboard 34 or the mouse 35. In this example, the explanatory variable setting unit 11 sets the explanatory variables shown in FIG.
[0023] The constraint condition setting unit 12 is configured to set constraint conditions based on data input by the user, for example, by operating the keyboard 34 or the mouse 35. In this example, the constraint condition setting unit 12 sets the two constraint conditions shown in FIG.
[0024] The calculation parameter setting unit 13 is configured to set various parameters for calculations using the evolutionary optimization algorithm, for example, based on data input by the user by operating the keyboard 34 or mouse 35. Specifically, for example, as will be described later, the calculation parameter setting unit 13 is configured to set the number of individual data DT to be calculated, the number of calculations to be performed when repeating calculations, etc.
[0025] The initial individual data generation unit 21 is configured to randomly generate initial individual data DT, thereby generating an individual data group G. The initial individual data generation unit 21 is configured to generate the individual data DT using the explanatory variables set by the explanatory variable setting unit 11.
[0026] The individual data generation unit 22 is configured to generate individual data DT by performing crossover processing and mutation processing based on the two individual data DT included in the individual data group G supplied from the initial individual data generation unit 21 and the individual data group update unit 26. The individual data generation unit 22 is configured to generate the individual data DT using the explanatory variables set by the explanatory variable setting unit 11.
[0027] The evaluation value calculation unit 23 is configured to calculate evaluation values VAL1 and VAL2 of the individual data DT that is the object of calculation, using the constraint conditions set by the constraint condition setting unit 12. The evaluation values VAL1 and VAL2 are expressed as follows.
number
[0028] When the information processing device 1 is applied to the constraint satisfaction problem related to the motor design described above, the constraint conditions may be, for example, conditions on motor characteristics such as average torque. That is, in the example of motor design, the evaluation value calculation unit 23 may calculate an evaluation value related to the characteristic values of the motor characteristics based on the set values of various parameters such as surface area and component size. In this case, the evaluation value calculation unit 23 may calculate an evaluation value corresponding to the characteristic values of the motor characteristics using, for example, a machine learning model prepared by performing machine learning in advance.
[0029] The diversity evaluation value calculation unit 24 is configured to calculate a diversity evaluation value VALD of the individual data DT to be calculated, based on the individual data DT to be calculated and one or more pieces of individual data DT that have been determined to be feasible solutions by the feasible solution determination unit 27. The diversity evaluation value VALD is expressed as follows:
number
[0030] The fitness calculation unit 25 is configured to calculate the fitness F of the individual data DT to be calculated, based on the evaluation values VAL1, VAL2 and the diversity evaluation value VALD of the individual data DT. The fitness F is expressed as follows:
number
[0031] The fitness F is "0", for example, when the evaluation values VAL1, VAL2 and the diversity evaluation value VALD are each equal to or greater than "0". In other words, when the individual data DT to be calculated satisfies the constraint conditions and the individual data DT is not close to all of the individual data DT determined to be feasible solutions by the feasible solution determination unit 27, the fitness F of the individual data DT becomes "0".
[0032] Furthermore, the fitness F becomes a positive value when, for example, any one or more of the evaluation values VAL1, VAL2 and the diversity evaluation value VALD are negative. That is, when the individual data DT to be calculated does not satisfy the constraint conditions, the fitness F of that individual data DT becomes a positive value according to the degree to which the constraint conditions are not satisfied. Furthermore, even when the individual data DT to be calculated satisfies the constraint conditions, if that individual data DT is data that is close to any of the individual data DT that have been determined to be feasible solutions by the feasible solution determination unit 27, the fitness F of that individual data DT becomes a positive value according to the closeness.
[0033] The individual data group update unit 26 is configured to update the plurality of individual data DT included in the individual data group G based on the fitness F.
[0034] The feasible solution determination unit 27 is configured to determine whether or not the individual data DT that is the object of calculation is a feasible solution based on the fitness F of that individual data DT. Specifically, the feasible solution determination unit 27 determines that the individual data DT is a feasible solution when the fitness F of that individual data DT is "0". In other words, a feasible solution is individual data DT that satisfies the constraint conditions and is not close to any of the individual data DT that have been determined to be feasible solutions by the feasible solution determination unit 27. Then, when the individual data DT that is the object of calculation is a feasible solution, the feasible solution determination unit 27 stores this individual data DT as a feasible solution.
[0035] The output processing unit 28 is configured to perform output processing to output one or more pieces of individual data DT stored as feasible solutions by the feasible solution determination unit 27 when the calculation using the evolutionary optimization algorithm is completed. The output processing unit 28 may perform output processing by displaying this one or more pieces of individual data DT on the display 36, or may perform output processing by writing this one or more pieces of individual data DT to a file.
[0036] The storage 31 (FIG. 1) is, for example, a hard disk drive (HDD) or a solid state drive (SSD), and is configured to store programs and data.
[0037] The memory 32 is, for example, a dynamic random access memory (DRAM), and is configured to temporarily store calculation data.
[0038] The communication unit 33 is configured to connect to, for example, the Internet via a wired LAN (Local Area Network) or a wireless LAN.
[0039] The keyboard 34 and mouse 35 are configured to accept input operations from the user.
[0040] The display 36 is, for example, a liquid crystal display, and is configured to display the setting screen and calculation results of calculations using the evolutionary optimization algorithm.
[0041] Here, the processing unit 10 corresponds to a specific example of a "processing circuit" in an embodiment of the present disclosure. The individual data DT corresponds to a specific example of "individual data" in an embodiment of the present disclosure. The individual data group G corresponds to a specific example of an "individual data group" in an embodiment of the present disclosure. The evaluation values VAL1 and VAL2 correspond to a specific example of a "first evaluation value" in an embodiment of the present disclosure. The diversity evaluation value VALD corresponds to a specific example of a "second evaluation value" in an embodiment of the present disclosure. The fitness F corresponds to a specific example of "fitness" in an embodiment of the present disclosure. The threshold value rth corresponds to a specific example of a "threshold value" in an embodiment of the present disclosure.
[0042] [Actions and Actions] Next, the operation and function of the information processing device 1 of this embodiment will be described.
[0043] (Overview of overall operation) First, an overview of the overall operation of the information processing device 1 will be described with reference to FIG. 1. The explanatory variable setting unit 11 sets explanatory variables based on data input by the user, for example, by operating the keyboard 34 or mouse 35. The constraint condition setting unit 12 sets constraint conditions based on data input by the user, for example, by operating the keyboard 34 or mouse 35. The calculation parameter setting unit 13 sets various parameters for calculations using an evolutionary optimization algorithm, for example, based on data input by the user, for example, by operating the keyboard 34 or mouse 35. The initial individual data generation unit 21 generates an individual data group G by randomly generating initial individual data DT. The individual data generation unit 22 generates individual data DT by performing crossover processing and mutation processing based on two individual data DT included in the individual data group G. The evaluation value calculation unit 23 calculates evaluation values VAL1 and VAL2 of the individual data DT to be calculated, using the constraint conditions set by the constraint condition setting unit 12. The diversity evaluation value calculation unit 24 calculates a diversity evaluation value VALD of the individual data DT to be calculated, based on the individual data DT to be calculated and one or more individual data DT determined to be feasible solutions by the feasible solution determination unit 27. The fitness calculation unit 25 calculates the fitness F of the individual data DT to be calculated, based on the evaluation values VAL1, VAL2 and the diversity evaluation value VALD of the individual data DT to be calculated. The individual data group update unit 26 updates the multiple individual data DT included in the individual data group G based on the fitness F. The feasible solution determination unit 27 determines whether the individual data DT to be calculated is a feasible solution based on the fitness F of the individual data DT, and stores the individual data DT that are feasible solutions. When the calculation using the evolutionary optimization algorithm is completed, the output processing unit 28 performs output processing to output the one or more individual data DT stored as feasible solutions by the feasible solution determination unit 27.
[0044] (Detailed operation) FIG. 3 shows an example of the operation of the information processing device 1.
[0045] First, the initial individual data generation unit 21 generates an individual data group G by randomly generating a plurality of individual data DT (step S101).
[0046] 4 shows an example of the individual data group G generated by the initial individual data generation unit 21. The initial individual data generation unit 21 generates five pieces of individual data DT using the explanatory variables set by the explanatory variable setting unit 11. The number of individual data DT generated by the initial individual data generation unit 21 (five in this example) is set by the calculation parameter setting unit 13.
[0047] Next, the processing unit 10 calculates evaluation values VAL1, VAL2 for each of these five individual data DT, and calculates fitness F based on these evaluation values VAL1, VAL2 (step S102). Specifically, the evaluation value calculation unit 23 calculates the evaluation values VAL1, VAL2 of the individual data DT to be calculated using equations EQ1, EQ2 based on the individual data DT, and the fitness calculation unit 25 calculates the fitness F of the individual data DT to be calculated using equation EQ4 based on the evaluation values VAL1, VAL2 of the individual data DT to be calculated. Note that the right-hand side of equation EQ4 includes the diversity evaluation value VALD, but at the time of step S102, there is no feasible solution yet, so the value of the diversity evaluation value VALD is "0".
[0048] FIG. 5 shows an example of the evaluation values VAL1, VAL2 and fitness F for each of the five individual data DT shown in FIG.
[0049] 5, the first individual data DT in the individual data group G is (7,2,6,7,1), so the evaluation value VAL1 is "5" and the evaluation value VAL2 is "-7". Therefore, the fitness F is "7".
[0050] The second individual data DT in the individual data group G is (6,2,4,7,1), so the evaluation value VAL1 is "4" and the evaluation value VAL2 is "-10". Therefore, the fitness F is "10".
[0051] The third individual data DT in the individual data group G is (7,3,6,8,3), so the evaluation value VAL1 is "4" and the evaluation value VAL2 is "-3". Therefore, the fitness F is "3".
[0052] The fourth individual data DT in the individual data group G is (2,2,4,7,9), so the evaluation value VAL1 is "0" and the evaluation value VAL2 is "-6". Therefore, the fitness F is "6".
[0053] The fifth individual data DT in the individual data group G is (4, 8, 1, 5, 9), so the evaluation value VAL1 is "-4" and the evaluation value VAL2 is "-3". Therefore, the fitness F is "7".
[0054] In this example, for each of the five pieces of individual data DT in the individual data group G, at least one of the evaluation values VAL1 and VAL2 is a negative value. Therefore, none of these five pieces of individual data DT satisfy the constraint. Therefore, the fitnesses F of these five pieces of individual data DT are positive values, as shown in Figure 5.
[0055] Next, the feasible solution determination unit 27 determines whether the individual data DT is a feasible solution based on the fitness F (step S103). Specifically, the feasible solution determination unit 27 determines that the individual data DT whose fitness F is "0" is a feasible solution. Then, the feasible solution determination unit 27 stores the individual data DT that is a feasible solution.
[0056] 5, the fitness F of each of the five individual data DT included in the individual data group G is not "0." Therefore, the feasible solution determination unit 27 determines that each of these five individual data DT is not a feasible solution.
[0057] Next, the individual data generation unit 22 generates individual data DT by performing crossover processing and mutation processing based on the two individual data DT included in the individual data group G generated by the initial individual data generation unit 21 (step S104).
[0058] FIG. 6 shows an example of the crossover and mutation processes.
[0059] First, the individual data generation unit 22 randomly selects two of the five individual data DT contained in the individual data group G. In this example, the individual data group update unit 26 selects the third individual data DT and the fifth individual data DT of the five individual data DT (FIG. 4). The third individual data DT is (7,3,6,8,3) and the fifth individual data DT is (4,8,1,5,9).
[0060] The individual data generation unit 22 then performs crossover processing based on the two selected individual data DT. Specifically, the individual data generation unit 22 generates the individual data DT by randomly selecting one of the values of these two pieces of individual data DT for each of the variables x1 to x5. In this example, the individual data generation unit 22 performs crossover processing by selecting the value indicated by the dashed circle in Figure 6 from the values of the two pieces of individual data DT.
[0061] Then, the individual data generation unit 22 resets the values of each of the variables x1 to x5 in the individual data DT generated by the crossover process, for example, with a probability of 20%. That is, the mutation probability is set to 20% so that one of the five variables x1 to x5 changes. In this example, the individual data generation unit 22 changes the value of the variable x4 from "8" to "5", as shown by the dashed square in Figure 6.
[0062] In this way, the individual data generation unit 22 selects two of the five individual data DT included in the individual data group G, and generates individual data DT by performing crossover processing and mutation processing based on the two selected individual data DT. The individual data generation unit 22 repeats this processing five times to generate five individual data DT.
[0063] Next, the feasible solution determination unit 27 checks whether the number of feasible solutions determined by the feasible solution determination unit 27 is equal to or greater than a predetermined number (step S105). If the number of feasible solutions is smaller than the predetermined number ("N" in step S105), the information processing device 1 calculates evaluation values VAL1 and VAL2 for each of the five individual data DT generated in step S104, and calculates fitness F based on these evaluation values VAL1 and VAL2 (step S106). This process is similar to step S102.
[0064] 7 shows an example of the evaluation values VAL1, VAL2 and fitness F for each of the five individual data DT generated in step S104. In this way, the information processing device 1 calculates the evaluation values VAL1, VAL2 and fitness F for each of the five individual data DT generated in step S104, in the same way as in step S102.
[0065] In step S105, if the number of feasible solutions is equal to or greater than a predetermined number ("Y" in step S105), the processing unit 10 calculates evaluation values VAL1, VAL2 and a diversity evaluation value VALD for each of the five individual data DT generated in step S104, and calculates the fitness F based on these evaluation values VAL1, VAL2 and the diversity evaluation value VALD (step S107). Specifically, the evaluation value calculation unit 23 calculates the evaluation values VAL1, VAL2 of the individual data DT to be calculated using equations EQ1, EQ2 based on the individual data DT to be calculated, and the diversity evaluation value calculation unit 24 calculates the diversity evaluation value VALD of the individual data DT using equation EQ3 based on the individual data DT to be calculated and one or more individual data DT determined to be feasible solutions by the feasible solution determination unit 27. The calculation of the diversity evaluation value VALD will be described later. The fitness calculation unit 25 then calculates the fitness F of the individual data DT, which is the calculation target, using equation EQ4 based on the evaluation values VAL1, VAL2 and the diversity evaluation value VALD of that individual data DT.
[0066] Next, the feasible solution determination unit 27 determines whether the individual data DT generated in step S104 is a feasible solution based on the fitness F (step S108). Specifically, the feasible solution determination unit 27 determines that the individual data DT whose fitness F is "0" is a feasible solution. Then, the feasible solution determination unit 27 stores the individual data DT that is a feasible solution.
[0067] 7, the fitness F of each of the five individual data DT is not 0. Therefore, the feasible solution determination unit 27 determines that each of these five individual data DT is not a feasible solution.
[0068] Next, the individual data group update unit 26 updates the individual data group G based on the fitness F (step S109).
[0069] Figure 8 shows an example of the process of updating the individual data group G in step S109. Ten individual data DT are shown in Figure 8. Of the ten individual data DT, the first five individual data DT are the individual data DT (Figure 4) related to the individual data group G generated in step S101, and the remaining five individual data DT are the individual data DT (Figure 7) generated in step S104. Figure 8 also shows the evaluation values VAL1, VAL2, diversity evaluation value VALD, and fitness F related to these ten individual data DT.
[0070] Based on the fitness F of these 10 individual data DT, the individual data group update unit 26 selects five individual data DT in ascending order of fitness F value, and updates the individual data group G by making the five selected individual data DT into a new individual data group G. That is, the closer the value of fitness F of the individual data DT is to "0," the closer it is to individual data DT that satisfies, for example, a constraint, so the individual data group update unit 26 selects the five individual data DT in descending order of fitness F value. In Figure 8, the five fitness F values with the smallest values are indicated by dashed circles. The individual data group update unit 26 updates the individual data group G by making the five individual data DT associated with these five fitness F values into a new individual data group G.
[0071] Next, the processing unit 10 checks whether the calculations of steps S104 to S109 have been performed a predetermined number of times (step S110). The predetermined number of times is, for example, from several hundred times to several tens of thousands of times. This predetermined number of times is set by the calculation parameter setting unit 13. If the calculations have not been performed the predetermined number of times ("N" in step S110), the process returns to step S104, and the processing unit 10 repeats the processes of steps S104 to S110 until the calculations have been performed the predetermined number of times.
[0072] In step S110, if the calculation has been performed a predetermined number of times ("Y" in step S110), the output processing unit 28 outputs one or more stored individual data DT that have been determined to be a feasible solution by the feasible solution determination unit 27 (step S111).
[0073] This completes the process.
[0074] Here, the process of step S101 corresponds to a specific example of "first process" in an embodiment of the present disclosure. The process of step S102 corresponds to a specific example of "second process" in an embodiment of the present disclosure. The process of step S103 corresponds to a specific example of "third process" in an embodiment of the present disclosure. The process of step S104 corresponds to a specific example of "fourth process" in an embodiment of the present disclosure. The process of step S107 corresponds to a specific example of "fifth process" in an embodiment of the present disclosure. The process of step S108 corresponds to a specific example of "sixth process" in an embodiment of the present disclosure. The process of step S109 corresponds to a specific example of "seventh process" in an embodiment of the present disclosure. The process of step S111 corresponds to a specific example of "eighth process" in an embodiment of the present disclosure.
[0075] In this way, the information processing device 1 performs crossover processing and mutation processing based on the five individual data DT included in the individual data group G, and updates the individual data group G based on the five individual data DT with the lowest values of fitness F from among the individual data DT included in the individual data group G and the five individual data DT generated by these processing. By repeating this processing, the information processing device 1 can efficiently search for individual data DT with a low value of fitness F.
[0076] (Calculation of the diversity evaluation value VALD) In step S107, the diversity evaluation value calculation unit 24 calculates a diversity evaluation value VALD of the individual data DT, which is the object of calculation, using equation EQ3, based on the individual data DT and one or more pieces of individual data DT that have been determined to be feasible solutions by the feasible solution determination unit 27. The calculation of this diversity evaluation value VALD will be described in detail below.
[0077] First, the threshold value rth in equation EQ3 will be explained.
[0078] Fig. 9 shows an example of the position of individual data DT that has been determined to be feasible by the feasible solution determination unit 27. In this example, six pieces of individual data DT (individual data DT1 to DT6) have been determined to be feasible solutions by the feasible solution determination unit 27. These six pieces of individual data DT constitute set A shown in equation EQ3. In Fig. 9, these six pieces of individual data DT1 to DT6 are arranged in the explanatory variable space. The explanatory variable space is actually a five-dimensional space using variables x1 to x5, but for convenience of explanation, Fig. 9 uses a two-dimensional plane using variables x1 and x2.
[0079] Of these six pieces of individual data DT, the individual data DT that is closest to the position of individual data DT1 is individual data DT2. The distance between the position of this individual data DT1 and the position of the individual data DT2 that is closest to the position of this individual data DT1 is distance d12. This distance d12 is called the smallest distance of the individual data DT1.
[0080] Similarly, the minimum distance for individual data DT2 is the distance d12 between the position of the individual data DT2 and the position of the individual data DT1 that is closest to the position of this individual data DT2. The minimum distance for individual data DT3 is the distance d23 between the position of the individual data DT3 and the position of the individual data DT2 that is closest to the position of this individual data DT3. The minimum distance for individual data DT4 is the distance d45 between the position of the individual data DT4 and the position of the individual data DT5 that is closest to the position of this individual data DT4. The minimum distance for individual data DT5 is the distance d45 between the position of the individual data DT5 and the position of the individual data DT4 that is closest to the position of this individual data DT5. The minimum distance for individual data DT6 is the distance d56 between the position of the individual data DT6 and the position of the individual data DT5 that is closest to the position of this individual data DT6.
[0081] Therefore, the set of minimum distances for these six individual data DT1 to DT6 is (d12, d12, d23, d45, d45, d56) in this example.
[0082] The feasible solution determination unit 27 calculates a threshold value rth using the following formula based on the positions of one or more pieces of individual data DT that have been determined by the feasible solution determination unit 27 to be a feasible solution.
number
[0083] 9, the smallest distance among the set of minimum distances for the six individual data DT1 to DT6 is distance d45. Therefore, the threshold value rth is expressed as the sum of this distance d45 and the mean absolute deviation of the set of minimum distances.
[0084] Then, the feasible solution determination unit 27 uses the formula EQ3 and the threshold value rth thus determined to calculate the diversity evaluation value VALD of the individual data DT that is the calculation target.
[0085] Fig. 10 shows an example of the positional relationship between the individual data DT to be calculated and six individual data DT1 to DT6 that are feasible solutions. In Fig. 10, the six circles are circles that have the positions of the six individual data DT1 to DT6 as their centers and have the threshold value rth as their radius.
[0086] For example, if the individual data DT to be calculated is the individual data DTA shown in Figure 10, the position of this individual data DTA is closest to the position of individual data DT5 out of the six individual data DT belonging to set A. The distance dA5 between the position of the individual data DTA and this individual data DT5 is smaller than the threshold value rth. In other words, the position of the individual data DTA is inside a circle centered on the individual data DT5. In such a case, the diversity evaluation value VALD will be a negative value, as shown in equation EQ3. In this way, when the diversity evaluation value VALD is a negative value, the value of the fitness F will be large, as shown in equation EQ4. Therefore, this individual data DTA is likely to be excluded from the search for individual data DT.
[0087] On the other hand, for example, if the individual data DT to be calculated is the individual data DTB shown in FIG. 10, the position of this individual data DTB is closest to the position of the individual data DT1 among the six individual data DT belonging to set A. The distance dB1 between the position of the individual data DTB and this individual data DT1 is greater than the threshold value rth. In other words, the position of the individual data DTB is outside the circle centered on the individual data DT1. In such a case, the diversity evaluation value VALD will be a positive value, as shown in equation EQ3. In this way, when the diversity evaluation value VALD is a positive value, the value of the fitness F will be small, as shown in equation EQ4. Therefore, this individual data DTB is likely to remain in the search for individual data DT.
[0088] In this way, in the information processing device 1, if the individual data DT to be calculated is data located away from the positions of one or more individual data DT belonging to set A, that individual data DT is likely to remain in the search for individual data DT. As a result, the information processing device 1 can obtain diverse individual data DT with little bias.
[0089] That is, for example, if the fitness F is calculated without using the diversity evaluation value VALD, there is a possibility that a plurality of mutually similar individual data DT as shown in Figure 11 will remain in the search for individual data DT. In the three individual data DT shown in Figure 11, the values of variables x3, x4, and x5 are the same, and the values of variables x1 and x2 are close to each other. In this way, if mutually similar individual data DT remain in the search for individual data DT, the diversity of the feasible solutions finally obtained will decrease.
[0090] On the other hand, the information processing device 1 uses the diversity evaluation value VALD to calculate the fitness F. This makes it less likely that multiple pieces of individual data DT that are similar to each other, as shown in Fig. 11, will remain in the search for individual data DT, making it possible to increase the diversity of the feasible solutions that are finally obtained.
[0091] Figure 12 shows the evaluation results of the diversity of the obtained individual data DT when the diversity evaluation value VALD is used and when it is not used. In this example, the information processing method of the present invention is applied to the constraint satisfaction problem for the motor design described above. This evaluation shows the results of 11 evaluations, each time changing the seed value of the random numbers used in random calculations. Figure 12 shows the diversity evaluation results using a box plot. In this example, the D_MST value is used as an index of diversity. A higher D_MST value indicates a higher diversity of the individual data DT. The D_MST value is described in the following paper: B. Lacevic and E. Amaldi, "Ectropy of diversity measures for populations in Euclidean space," Information Sciences, vol. 181, no. 11, pp. 2316-2339, 2011.
[0092] When the diversity evaluation value VALD is not used, the D_MST value can be a wide range of values, from low to high. On the other hand, when the diversity evaluation value VALD is used, the D_MST value can be a stable high value. In this way, the information processing device 1 uses the diversity evaluation value VALD, so that the diversity of the finally obtained feasible solutions can be increased.
[0093] As described above, the information processing method in the information processing device 1 includes a first process (processing of step S101) of generating an individual data group G including the first plurality of individual data by randomly generating a first plurality of individual data DT, each of which includes a plurality of setting values for a plurality of parameters; a second process (processing of step S102) of calculating, for each of the first plurality of individual data DT, a first evaluation value (evaluation values VAL1, VAL2) according to the degree to which the constraint conditions are satisfied, and calculating a fitness F based on the first evaluation values (evaluation values VAL1, VAL2); and a second process (processing of step S103) of calculating the fitness F based on the fitness F of each of the first plurality of individual data DT calculated by the second process. a third process (processing of step S103) of determining whether each of the plurality of individual data is a feasible solution; a fourth process (processing of step S104) of generating a second plurality of individual data DT by performing crossover processing and mutation processing based on the first plurality of individual data DT included in the individual data group G; a fourth process (processing of step S105) of calculating a first evaluation value (evaluation values VAL1, VAL2) according to the degree to which the constraints are satisfied for each of the second plurality of individual data DT, and calculating a second evaluation value (diversity evaluation value VALD) according to the degree of data difference between the one or more individual data DT determined to be a feasible solution, and calculating the first evaluation values (evaluation values VAL1, VAL2) according to the degree to which the constraints are satisfied for each of the second plurality of individual data DT.a fifth process (processing of step S107) of calculating a fitness F based on the fitness F of each of the second plurality of individual data DT (VAL2) and the second evaluation value (diversity evaluation value VALD); a sixth process (processing of step S108) of determining whether each of the second plurality of individual data DT is a feasible solution based on the fitness F of each of the second plurality of individual data DT calculated by the fifth process; a seventh process (processing of step S109) of selecting multiple individual data DT from the first plurality of individual data DT and the second plurality of individual data DT based on the fitness F of each of the first plurality of individual data DT included in the individual data group G and the fitness F of each of the second plurality of individual data DT calculated by the fifth process, and updating the individual data group G by using the selected multiple individual data DT as the first plurality of individual data DT; and an eighth process (processing of step S111) of repeating the fourth process, the fifth process, the sixth process, and the seventh process in this order a plurality of times, and then outputting one or more individual data DT that have been determined to be a feasible solution. As a result, in this information processing method, as described above, multiple pieces of individual data DT that are similar to each other are less likely to remain in the search for individual data DT, making it possible to obtain a variety of solutions while satisfying the constraints.
[0094] Furthermore, in the information processing method of the information processing device 1, in the fifth process (processing of step S107), when calculating the second evaluation value (diversity evaluation value VALD) for each of the second plurality of individual data DT, the shortest distance between the position indicated by the individual data DT included in the second plurality of individual data DT and the position indicated by each of the one or more individual data determined to be a feasible solution is compared with a threshold value rth, thereby calculating the second evaluation value (diversity evaluation value VALD) of the individual data DT included in the second plurality of individual data DT. In this way, in this information processing method, the diversity evaluation value VALD can be calculated depending on whether the individual data DT to be calculated is data located away from the positions of one or more individual data DT belonging to set A. Then, if the individual data DT to be calculated is data located away from the positions of one or more individual data DT belonging to set A, it is possible to make it more likely that this individual data DT will remain in the search for individual data DT. As a result, this information processing method can obtain a variety of solutions.
[0095] Furthermore, in the information processing method in the information processing device 1, the one or more pieces of individual data DT determined to be a feasible solution are a plurality of pieces of individual data DT, and the fifth process further includes a process of calculating a threshold value rth based on the minimum value of the distance between the plurality of pieces of individual data DT determined to be feasible solutions. As a result, in this information processing method, the threshold value rth can be calculated in accordance with the individual data DT determined to be a feasible solution, making it possible to effectively obtain a variety of solutions. That is, for example, if the number of pieces of individual data DT determined to be feasible solutions is small, the distance between this plurality of pieces of individual data DT may be long. In such a case, in this information processing method, the threshold value rth is set to a large value. As a result, in this information processing method, it is possible for individual data DT located farther away from the position of the individual data DT determined to be a feasible solution to more easily remain in the search for individual data DT. Furthermore, for example, as the number of individual data DT determined to be a feasible solution increases, the distance between this plurality of pieces of individual data DT may become shorter. In such a case, in this information processing method, the threshold value rth is set to a small value. As a result, with this information processing method, it is possible to make it easier for individual data DT that are located slightly close to the position of individual data DT that has been determined to be a feasible solution to remain in the search for individual data DT, and therefore with this information processing method, it is possible to effectively obtain a variety of solutions.
[0096] [effect] As described above, this embodiment includes a first process of generating an individual data group including the first plurality of individual data by randomly generating a first plurality of individual data, each of which includes a plurality of setting values for a plurality of parameters; a second process of calculating a first evaluation value for each of the first plurality of individual data according to the degree to which the constraint conditions are satisfied and calculating a fitness based on the first evaluation value; a third process of determining whether each of the first plurality of individual data is a feasible solution based on the fitness of each of the first plurality of individual data calculated by the second process; a fourth process of generating a second plurality of individual data by performing crossover processing and mutation processing based on the first plurality of individual data included in the individual data group; and a fourth process of calculating a first evaluation value for each of the second plurality of individual data according to the degree to which the constraint conditions are satisfied and calculating one or more individual data determined to be a feasible solution. and calculating a fitness based on the first evaluation value and the second evaluation value, a sixth process of determining whether each of the second plurality of individual data is a feasible solution based on the fitness of each of the second plurality of individual data calculated by the fifth process, a seventh process of selecting a plurality of individual data from the first plurality of individual data and the second plurality of individual data based on the fitness of each of the first plurality of individual data included in the individual data group and the fitness of each of the second plurality of individual data calculated by the fifth process, and updating the individual data group by using the selected plurality of individual data as the first plurality of individual data DT, and an eighth process of repeating the fourth process, the fifth process, the sixth process, and the seventh process a plurality of times in this order, and then outputting one or more individual data determined to be a feasible solution. This makes it possible to obtain a variety of solutions while satisfying the constraints.
[0097] In this embodiment, when calculating the second evaluation value for each of the second plurality of individual data in the fifth process, the shortest distance between the position indicated by the individual data included in the second plurality of individual data and the position indicated by each of the one or more individual data determined to be a feasible solution is compared with a threshold value to calculate the second evaluation value of the individual data DT included in the second plurality of individual data. This makes it possible to obtain a variety of solutions.
[0098] In this embodiment, the one or more individual data determined to be a feasible solution are a plurality of individual data, and the fifth process further includes a process of calculating a threshold value based on the minimum value of the distance between the plurality of individual data determined to be a feasible solution, thereby making it possible to effectively obtain a variety of solutions.
[0099] [Variation 1] In the above embodiment, the threshold value rth is calculated based on the position of one or more pieces of individual data DT that are determined to be feasible solutions by the feasible solution determination unit 27, but this is not limited to this, and instead, for example, the threshold value rth may be a predetermined value that is set in advance.
[0100] [Variation 2] In the above embodiment, as shown in Figure 3, a plurality of initial individual data DT are generated (step S101), and processing is performed based on this plurality of individual data DT, but this is not limited to this. Instead, for example, the generated initial plurality of individual data DT may be divided into a plurality of groups, and processing may be performed for each divided group based on a plurality of individual data DT. This modified example will be explained in detail below.
[0101] Fig. 13 shows an example of the operation of the information processing device 1 according to this modification. The process shown in Fig. 13 corresponds to the process of step S101 shown in Fig. 3 in the above embodiment.
[0102] First, the initial individual data generation unit 21 randomly generates a plurality of individual data DT (step S201).
[0103] Fig. 14A shows an example of a plurality of pieces of individual data DT generated in step S201. In Fig. 14, the plurality of pieces of individual data DT are depicted using circles. In this example, the initial individual data generation unit 21 generates 15 pieces of individual data DT. In Fig. 14A, these 15 pieces of individual data DT are arranged in an explanatory variable space. The explanatory variable space is actually a five-dimensional space using variables x1 to x5, but for convenience of explanation, Fig. 14A uses a two-dimensional plane using variables x1 and x2.
[0104] Next, the initial individual data generation unit 21 randomly generates one piece of individual data DT (reference individual data DTR) to serve as a reference (step S202).
[0105] Fig. 14B shows an example of the reference individual data DTR (reference individual data DTR1) generated in step S202. In Fig. 14B, the reference individual data DTR1 is depicted using X's.
[0106] Next, the initial individual data generation unit 21 identifies a predetermined number of individual data DT that are closest to the position of the reference individual data DTR from the multiple individual data DT generated in step S201, and sets a group GP that includes this identified predetermined number of individual data DT (step S203).
[0107] 14B, the initial individual data generation unit 21 identifies five pieces of individual data DT that are close to the reference individual data DTR1. Then, the initial individual data generation unit 21 sets a group GP (group GP1) that includes these five pieces of individual data DT.
[0108] Next, the initial individual data generation unit 21 deletes the predetermined number of individual data DT identified in step S203 from the explanatory variable space (step S204).
[0109] Next, the initial individual data generation unit 21 checks whether or not individual data DT remains in the explanatory variable space (step S205). If individual data DT remains ("Y" in step S205), the process returns to step S202, and steps S202 to S205 are repeated until all individual data DT remain in the explanatory variable space. Then, if all individual data DT remains ("N" in step S205), this process ends.
[0110] Figure 14C shows an example of the reference individual data DTR (reference individual data DTR2) generated in the second step S202. In this Figure 14C, ten pieces of individual data DT are depicted in the explanatory variable space. The initial individual data generation unit 21 identifies five pieces of individual data DT that are close to the reference individual data DTR2, and sets a group GP (group GP2) that includes these five pieces of individual data DT.
[0111] Figure 14D shows an example of the reference individual data DTR (reference individual data DTR3) generated in step S202 for the third time. In this Figure 14D, five individual data DT are depicted in the explanatory variable space. The initial individual data generation unit 21 identifies five individual data DT that are close to the reference individual data DTR3, and sets a group GP (group GP3) that includes these five individual data DT.
[0112] In this way, the 15 pieces of individual data DT generated in step S201 are divided into three groups GP1 to GP3.
[0113] Then, for each of the three groups GP1 to GP3, the processing unit 10 uses the five individual data DT belonging to group GP as initial individual data DT, and performs the same processing as in the above embodiment. Specifically, the processing unit 10 uses the five individual data DT belonging to group GP1 shown in FIG. 14B as initial individual data DT, and performs the processing of steps S102 to S111 shown in FIG. 3 of the above embodiment. Furthermore, the processing unit 10 uses the five individual data DT belonging to group GP2 shown in FIG. 14C as initial individual data DT, and performs the processing of steps S102 to S111 shown in FIG. 3 of the above embodiment. Furthermore, the processing unit 10 uses the five individual data DT belonging to group GP3 shown in FIG. 14D as initial individual data DT, and performs the processing of steps S102 to S111 shown in FIG. 3 of the above embodiment. In this way, a feasible solution is obtained for each of the three groups GP1 to GP3.
[0114] In the information processing method according to this modification, the first processing step includes randomly generating a third plurality of individual data DT and dividing the third plurality of individual data DT into a plurality of groups GP each including a predetermined number of individual data DT whose positions are close to each other. In this information processing method, the predetermined number of individual data DT is treated as a first plurality of individual data DT in each of the plurality of groups GP, and a second processing step (the processing of step S102), a third processing step (the processing of step S103), a fourth processing step (the processing of step S104), a fifth processing step (the processing of step S107), a sixth processing step (the processing of step S108), a seventh processing step (the processing of step S109), and an eighth processing step (the processing of step S111) are performed. In this information processing method, individual data DT is searched for for each of the plurality of groups GP, which reduces the possibility that feasible solutions will converge to one region in the explanatory variable space, thereby enabling a variety of solutions to be obtained.
[0115] [Other variations] Two or more of these variations may also be combined.
[0116] Although the present invention has been described above by way of embodiments and modifications, the present invention is not limited to these embodiments and can be modified in various ways.
[0117] For example, in the above embodiment, the processing shown in FIG. 3 is performed, but the present invention is not limited to this, and some parts may be different.
[0118] The effects described in this specification are merely examples, and the effects of the present disclosure are not limited to the effects described in this specification. Therefore, other effects may be obtained with respect to the present disclosure.
[0119] Furthermore, the present disclosure may take the following aspects.
[0120] (1) a first process of randomly generating a first plurality of individual data, each of which includes a plurality of setting values for a plurality of parameters, to generate an individual data group including the first plurality of individual data; a second process of calculating a first evaluation value according to the degree to which each of the first plurality of individual data satisfies a constraint condition, and calculating fitness based on the first evaluation value; a third process of determining whether each of the first plurality of individual data is a feasible solution based on the fitness of each of the first plurality of individual data calculated by the second process; a fourth process of generating a second plurality of individual data by performing crossover and mutation processes based on the first plurality of individual data included in the individual data group; a fifth process of calculating the first evaluation value according to the degree to which the constraint condition is satisfied for each of the second plurality of individual data, and calculating a second evaluation value according to the degree of difference between the data and one or more of the individual data determined to be a feasible solution, and calculating the fitness based on the first evaluation value and the second evaluation value; a sixth process of determining whether each of the second plurality of individual data is a feasible solution based on the fitness of each of the second plurality of individual data calculated in the fifth process; a seventh process of selecting a plurality of individual data from the first plurality of individual data and the second plurality of individual data based on the fitness of each of the first plurality of individual data included in the individual data group and the fitness of each of the second plurality of individual data calculated in the fifth process, and updating the individual data group by using the selected plurality of individual data as the first plurality of individual data; an eighth process of repeating the fourth process, the fifth process, the sixth process, and the seventh process multiple times in this order, and then outputting one or more pieces of individual data determined to be feasible solutions; An information processing method including: (2) In the fifth process, when calculating the second evaluation value for each of the second plurality of individual data, the shortest distance between a position indicated by individual data included in the second plurality of individual data and a position indicated by each of one or more of the individual data determined to be a feasible solution is compared with a threshold value to calculate the second evaluation value of the individual data included in the second plurality of individual data. The information processing method according to (1) above. (3) the one or more individual data determined to be a feasible solution is a plurality of the individual data, The fifth process further includes a process of calculating the threshold value based on the minimum value of the distance between the plurality of individual data determined to be a feasible solution. The information processing method described in (2) above. (4) The first process includes: Randomly generating a third plurality of individual data; Dividing the third plurality of individual data into a plurality of groups each including a predetermined number of individual data whose positions indicated by the third plurality of individual data are close to each other; Including, In each of the plurality of groups, the predetermined number of individual data items are treated as the first plurality of individual data items, thereby performing the second process, the third process, the fourth process, the fifth process, the sixth process, the seventh process, and the eighth process. The information processing method according to any one of (1) to (3) above. (5) a processing circuit capable of performing a first process, a second process, a third process, a fourth process, a fifth process, a sixth process, a seventh process, and an eighth process; the first processing includes randomly generating a first plurality of individual data, each of which includes a plurality of setting values for a plurality of parameters, to generate an individual data group including the first plurality of individual data; the second processing includes calculating a first evaluation value for each of the first plurality of individual data in accordance with a degree to which the constraint condition is satisfied, and calculating fitness based on the first evaluation value; the third processing includes determining whether each of the first plurality of individual data is a feasible solution based on the fitness of each of the first plurality of individual data calculated by the second processing; the fourth process includes generating a second plurality of individual data by performing a crossover process and a mutation process based on the first plurality of individual data included in the individual data group; the fifth processing includes calculating, for each of the second plurality of individual data, the first evaluation value according to the degree to which the constraint condition is satisfied, and calculating a second evaluation value according to the degree of difference between the data and one or more of the individual data determined to be a feasible solution, and calculating the fitness based on the first evaluation value and the second evaluation value; the sixth step includes determining whether each of the second plurality of individual data is a feasible solution based on the fitness of each of the second plurality of individual data calculated in the fifth step; the seventh process includes selecting a plurality of individual data from the first plurality of individual data and the second plurality of individual data based on the fitness of each of the first plurality of individual data included in the individual data group and the fitness of each of the second plurality of individual data calculated in the fifth process, and updating the individual data group by using the selected plurality of individual data as the first plurality of individual data; The eighth process includes repeating the fourth process, the fifth process, the sixth process, and the seventh process a plurality of times in this order, and then outputting one or more pieces of individual data determined to be a feasible solution. Information processing device. (6) a first process of randomly generating a first plurality of individual data, each of which includes a plurality of setting values for a plurality of parameters, to generate an individual data group including the first plurality of individual data; a second process of calculating a first evaluation value according to the degree to which each of the first plurality of individual data satisfies a constraint condition, and calculating fitness based on the first evaluation value; a third process of determining whether each of the first plurality of individual data is a feasible solution based on the fitness of each of the first plurality of individual data calculated by the second process; a fourth process of generating a second plurality of individual data by performing crossover and mutation processes based on the first plurality of individual data included in the individual data group; a fifth process of calculating the first evaluation value according to the degree to which the constraint condition is satisfied for each of the second plurality of individual data, and calculating a second evaluation value according to the degree of difference between the data and one or more of the individual data determined to be a feasible solution, and calculating the fitness based on the first evaluation value and the second evaluation value; a sixth process of determining whether each of the second plurality of individual data is a feasible solution based on the fitness of each of the second plurality of individual data calculated in the fifth process; a seventh process of selecting a plurality of individual data from the first plurality of individual data and the second plurality of individual data based on the fitness of each of the first plurality of individual data included in the individual data group and the fitness of each of the second plurality of individual data calculated in the fifth process, and updating the individual data group by using the selected plurality of individual data as the first plurality of individual data; an eighth process of repeating the fourth process, the fifth process, the sixth process, and the seventh process multiple times in this order, and then outputting one or more pieces of individual data determined to be feasible solutions; Let the computer do program. [Explanation of symbols]
[0121] 1...information processing device, 10...processing unit, 11...explanatory variable setting unit, 12...constraint condition setting unit, 13...calculation parameter setting unit, 21...initial individual data generation unit, 22...individual data generation unit, 23...evaluation value calculation unit, 24...diversity evaluation value calculation unit, 25...fitness calculation unit, 26...individual data group update unit, 27...feasible solution determination unit, 28...output processing unit, 31...storage, 32...memory, 33...communication unit, 34...keyboard, 35...mouse, 36...display, A...set, DT, DT1 to DT6, DTA, DTB...individual data, DTR, DTR1 to DTR3...reference individual data, F...fitness, G...individual data group, GP, GP1 to GP3...group, VAL1, VAL2...evaluation value, VAL2...evaluation value, VALD...diversity evaluation value, rth...threshold, x1 to x5...variables
Claims
1. a first process of randomly generating a first plurality of individual data, each of which includes a plurality of setting values for a plurality of parameters, to generate an individual data group including the first plurality of individual data; a second process of calculating a first evaluation value according to the degree to which each of the first plurality of individual data satisfies a constraint condition, and calculating fitness based on the first evaluation value; a third process of determining whether each of the first plurality of individual data is a feasible solution based on the fitness of each of the first plurality of individual data calculated by the second process; a fourth process of generating a second plurality of individual data by performing crossover and mutation processes based on the first plurality of individual data included in the individual data group; a fifth process of calculating the first evaluation value according to the degree to which the constraints are satisfied for each of the second plurality of individual data, and calculating a second evaluation value according to the degree of difference between the data and one or more of the individual data determined to be a feasible solution, and calculating the fitness based on the first evaluation value and the second evaluation value; a sixth process of determining whether each of the second plurality of individual data is a feasible solution based on the fitness of each of the second plurality of individual data calculated in the fifth process; a seventh process of selecting a plurality of individual data from the first plurality of individual data and the second plurality of individual data based on the fitness of each of the first plurality of individual data included in the individual data group and the fitness of each of the second plurality of individual data calculated in the fifth process, and updating the individual data group by using the selected plurality of individual data as the first plurality of individual data; an eighth process of repeating the fourth process, the fifth process, the sixth process, and the seventh process multiple times in this order, and then outputting one or more pieces of individual data determined to be feasible solutions; and An information processing method including:
2. In the fifth process, when calculating the second evaluation value for each of the second plurality of individual data, the shortest distance between the position indicated by the individual data included in the second plurality of individual data and the position indicated by each of the one or more individual data determined to be a feasible solution is compared with a threshold value to calculate the second evaluation value of the individual data included in the second plurality of individual data. The information processing method according to claim 1 .
3. the one or more individual data determined to be a feasible solution is a plurality of the individual data, The fifth process further includes a process of calculating the threshold value based on the minimum value of the distance between the plurality of individual data determined to be a feasible solution. The information processing method according to claim 2 .
4. The first process includes: Randomly generating a third plurality of individual data; Dividing the third plurality of individual data into a plurality of groups each including a predetermined number of individual data whose positions indicated by the third plurality of individual data are close to each other; Including, In each of the plurality of groups, the predetermined number of individual data items are treated as the first plurality of individual data items, thereby performing the second process, the third process, the fourth process, the fifth process, the sixth process, the seventh process, and the eighth process. The information processing method according to claim 1 .
5. a processing circuit capable of performing a first process, a second process, a third process, a fourth process, a fifth process, a sixth process, a seventh process, and an eighth process; the first processing includes randomly generating a first plurality of individual data, each of which includes a plurality of setting values for a plurality of parameters, to generate an individual data group including the first plurality of individual data; the second processing includes calculating a first evaluation value for each of the first plurality of individual data in accordance with a degree to which the constraint condition is satisfied, and calculating fitness based on the first evaluation value; the third processing includes determining whether each of the first plurality of individual data is a feasible solution based on the fitness of each of the first plurality of individual data calculated by the second processing; the fourth process includes generating a second plurality of individual data by performing a crossover process and a mutation process based on the first plurality of individual data included in the individual data group; the fifth processing includes calculating, for each of the second plurality of individual data, the first evaluation value according to the degree to which the constraint condition is satisfied, and calculating a second evaluation value according to the degree of difference between the data and one or more of the individual data determined to be a feasible solution, and calculating the fitness based on the first evaluation value and the second evaluation value; the sixth step includes determining whether each of the second plurality of individual data is a feasible solution based on the fitness of each of the second plurality of individual data calculated in the fifth step; the seventh process includes selecting a plurality of individual data from the first plurality of individual data and the second plurality of individual data based on the fitness of each of the first plurality of individual data included in the individual data group and the fitness of each of the second plurality of individual data calculated in the fifth process, and updating the individual data group by using the selected plurality of individual data as the first plurality of individual data; The eighth process includes repeating the fourth process, the fifth process, the sixth process, and the seventh process a plurality of times in this order, and then outputting one or more of the individual data determined to be a feasible solution. Information processing device.
6. a first process of randomly generating a first plurality of individual data, each of which includes a plurality of setting values for a plurality of parameters, to generate an individual data group including the first plurality of individual data; a second process of calculating a first evaluation value according to the degree to which each of the first plurality of individual data satisfies a constraint condition, and calculating fitness based on the first evaluation value; a third process of determining whether each of the first plurality of individual data is a feasible solution based on the fitness of each of the first plurality of individual data calculated by the second process; a fourth process of generating a second plurality of individual data by performing crossover and mutation processes based on the first plurality of individual data included in the individual data group; a fifth process of calculating the first evaluation value according to the degree to which the constraints are satisfied for each of the second plurality of individual data, and calculating a second evaluation value according to the degree of difference between the data and one or more of the individual data determined to be a feasible solution, and calculating the fitness based on the first evaluation value and the second evaluation value; a sixth process of determining whether each of the second plurality of individual data is a feasible solution based on the fitness of each of the second plurality of individual data calculated in the fifth process; a seventh process of selecting a plurality of individual data from the first plurality of individual data and the second plurality of individual data based on the fitness of each of the first plurality of individual data included in the individual data group and the fitness of each of the second plurality of individual data calculated in the fifth process, and updating the individual data group by using the selected plurality of individual data as the first plurality of individual data; an eighth process of repeating the fourth process, the fifth process, the sixth process, and the seventh process multiple times in this order, and then outputting one or more pieces of individual data determined to be feasible solutions; and Let the computer do program.
Citation Information
Patent Citations
Rubber material design method, rubber material design device, and program
JP2020030683A