Optimization device, optimization method, and optimization program
The optimization apparatus efficiently addresses the challenge of obtaining solutions under multiple conditions by generating and interactively optimizing multiple optimization problems, improving the efficiency and adaptability of the solution process.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- MITSUBISHI ELECTRIC CORP
- Filing Date
- 2025-03-12
- Publication Date
- 2026-06-18
AI Technical Summary
Existing optimization techniques have not effectively addressed the need to efficiently obtain solutions for optimization problems under multiple conditions, such as when constraints are desirable but not essential, or when solutions with and without constraints are required.
An optimization apparatus comprising a problem division unit that generates multiple optimization problems with different conditions, a multi-problem simultaneous optimization unit that optimizes these problems interactively, and a visualization unit to output solutions, utilizing methods like genetic algorithms and multi-factor optimization.
This approach efficiently obtains solutions for optimization problems under multiple conditions by allowing interaction between multiple optimization problems, enhancing the efficiency and adaptability of the solution process.
Smart Images

Figure JP2025009401_18062026_PF_FP_ABST
Abstract
Description
Optimization apparatus, optimization method, and optimization program 【0001】 This disclosure relates to an optimization apparatus, an optimization method, and an optimization program for obtaining a solution to an optimization problem. 【0002】 In optimization processes, it is desirable to efficiently obtain a variety of solutions. 【0003】 For example, Patent Document 1 discloses a method for obtaining the optimal solution to the original problem by analyzing an optimization problem, dividing it into multiple subproblems, and solving each of the divided subproblems. 【0004】 Japanese Patent Publication No. 2002-183707 【0005】 However, the conventional techniques described above have a problem in that they cannot efficiently obtain a solution when it is necessary to optimize a single optimization problem under multiple conditions. Situations where it is necessary to optimize under multiple conditions include, for example, when there are constraints that are not essential but would be desirable to satisfy if possible, and when it is necessary to obtain both a solution that includes the constraints and a solution that excludes the constraints. 【0006】 This disclosure is made in view of the above, and aims to provide an optimization device capable of efficiently obtaining a solution to a single optimization problem under multiple conditions. 【0007】 To solve the above-mentioned problems and achieve the objective, the optimization apparatus according to this disclosure is characterized by comprising: a problem division unit that generates multiple optimization problems by setting different conditions for one optimization problem; a multi-problem simultaneous optimization unit that simultaneously optimizes the generated multiple optimization problems while allowing them to interact with each other; and a visualization unit that outputs solutions for the multiple optimization problems. 【0008】 According to this disclosure, the effect is that a solution can be efficiently obtained for a single optimization problem under multiple conditions. 【0009】Figure 11 shows an example of the functional configuration of the optimization device according to Embodiment 1. The diagram illustrates an example of the problem division process performed by the problem division unit. It also includes an explanatory diagram of multi-objective optimization, an explanatory diagram of optimization processing using a genetic algorithm, an explanatory diagram of tournament selection, a schematic diagram illustrating crossover, a schematic diagram illustrating mutation, a flowchart for explaining the operation of the optimization device, and a flowchart for explaining multi-factor optimization of the optimization device. The diagram shows an example of the functional configuration of the optimization device according to Embodiment 2. The diagram also shows an example of the functional configuration of the optimization device according to Embodiment 3. The diagram includes an explanatory diagram of the operation example of the problem division unit shown in Figure 11, a diagram showing a first example of a selection method, a diagram showing a second example of a selection method, an explanatory diagram of the rank calculation method, a diagram showing an example of applying the optimization device to a sewage treatment system, and a diagram showing an example of the configuration of a computer system that realizes the functions of the optimization device. 【0010】 The optimization apparatus, optimization method, and optimization program according to embodiments of this disclosure will be described in detail below with reference to the drawings. 【0011】 Embodiment 1. Figure 1 is a diagram showing an example of the functional configuration of the optimization device 1 according to Embodiment 1. The optimization device 1 includes a data preprocessing unit 11, a problem division unit 12, a multi-problem simultaneous optimization unit 13, and a visualization unit 14. 【0012】 The data preprocessing unit 11 performs preprocessing to convert the observed data into a data format for optimization input information. The data preprocessing unit 11 outputs the preprocessed data to the problem division unit 12. 【0013】The problem partitioning unit 12 performs a problem partitioning process that sets multiple conditions on the original optimization problem and generates multiple optimization problems for each of the set conditions. At this time, the problem partitioning unit 12 generates at least two optimization problems, including the original optimization problem. Specifically, the problem partitioning unit 12 analyzes the objective function and constraints included in the original optimization problem and generates multiple optimization problems with different conditions from the original optimization problem. When generating optimization problems with "different conditions," the problem partitioning unit 12 can remove constraints from the original optimization problem, add constraints, and modify constraints, including treating discrete variables as continuous variables. The problem partitioning unit 12 can also remove the objective function from the original optimization problem, add an objective function, and modify the objective function, including changing the weighting of the objective function. In Embodiment 1, the problem partitioning unit 12 performs the problem partitioning process according to a pre-set partitioning method. The problem partitioning unit 12 outputs the multiple optimization problems generated by the problem partitioning process to the multiple problem simultaneous optimization unit 13. In Figure 1, three optimization problems are generated through a problem partitioning process, and these three partitioned optimization problems are referred to as Problem #1, Problem #2, and Problem #3. 【0014】 Figure 2 is an explanatory diagram of an example of the problem partitioning process performed by the problem partitioning unit 12. Assume that the original optimization problem includes objective function #1, objective function #2, constraint condition #1, and constraint condition #2. The problem partitioning unit 12 generates multiple optimization problems, including the original optimization problem, problem #1, namely problem #1, problem #2, and problem #3. The problem partitioning unit 12 can generate problem #2, which is the original optimization problem with constraint condition #2 removed, and problem #3, which is the original optimization problem with objective function #2 removed. 【0015】 Returning to the explanation of Figure 1, the multi-problem simultaneous optimization unit 13 simultaneously optimizes multiple optimization problems generated by the problem division unit 12. Here, "simultaneous optimization" performed by the multi-problem simultaneous optimization unit 13 refers not to simple parallel processing, but to solving the optimization problems while "interacting" with each other. The multi-problem simultaneous optimization unit 13 finds the solution to each of the multiple optimization problems and outputs the multiple solutions to the visualization unit 14. 【0016】Let's explain the details of simultaneous optimization. As mentioned above, the multiple-problem simultaneous optimization unit 13 solves optimization problems by "interacting" with each other. During the optimization process, it may be necessary to generate individual candidates for the solution, evaluate the quality of these candidates, and select a solution from among the candidates based on the evaluation results. For example, when generating candidate "individuals" for the solution, it is possible to "interact" with each other by generating them based on individuals from other optimization problems. 【0017】 To illustrate an example of "interaction" between multiple optimization problems, let's first discuss multi-objective optimization. Multi-objective optimization is the optimization of a problem with multiple objective functions. These objective functions can compete with each other and often involve trade-offs. 【0018】 Figure 3 is an explanatory diagram of multi-objective optimization. The circles in Figure 3 are candidate solutions and are called individuals. For example, consider the case where we want to minimize objective functions f1(x) and f2(x) within the range of the feasible region X where x is. There is a trade-off relationship between objective functions f1(x) and f2(x), and it is assumed that there is no solution that minimizes both objective functions. Thus, in multi-objective optimization, it is desirable to obtain a solution that is close to the true Pareto solution x^. The Pareto solution x^ is a solution where, within the range of x included in the feasible region X, f i (x) ≤ f i A Pareto solution is one in which no x exists that satisfies (x^), and where improving one of the objective functions worsens another. The set of Pareto solutions is called the Pareto frontier. Which of the candidate solutions to adopt depends on subjective factors, preferences, and goals. The solution that the decision-maker deems to be the best is called the preferred optimal solution. 【0019】Genetic algorithms are known as a method used to obtain solutions close to the Pareto solution. A genetic algorithm is a combinatorial optimization method that creates superior individuals by repeatedly performing gene crossbreeding, mutation, and elimination, referencing the evolutionary process of organisms. Specifically, a genetic algorithm represents the phenomenon that occurs in the evolutionary process of organisms—where stronger individuals that adapt to the environment survive, and weaker individuals that cannot adapt to the environment are eliminated—using data, and is a mechanism for searching for superior individuals. A genetic algorithm is a heuristic optimization method that repeats the search until a solution that satisfies the termination condition is found. The operation of the multi-problem simultaneous optimization unit 13 will be explained below using the case of using a genetic algorithm as an example. 【0020】 Figure 4 is an explanatory diagram of the optimization process using a genetic algorithm. The multi-problem simultaneous optimization unit 13 optimizes multiple optimization problems simultaneously, but Figure 4 shows the flow of the optimization process focusing on one of these optimization problems. First, the first generation of individuals is generated by random sampling. Subsequently, a loop process of fitness calculation, parent individual determination, termination determination, and offspring individual generation is performed until the termination condition is met. If the termination condition is met, the generation of offspring individuals is omitted and the process ends. If the termination condition is not met, after generating offspring individuals, the process is repeated starting from fitness calculation. Fitness is a numerical value that indicates the superiority or inferiority of an individual. Parent individuals are determined based on fitness. For all individuals, including parent and offspring individuals, it is determined based on fitness whether each individual survives or is eliminated, and the surviving individuals become the parent individuals of the next generation. 【0021】 This section explains the details of offspring generation. Offspring generation is achieved through genetic manipulation, following the sequence of selection of crossover partners, crossover, and mutation. Crossover partners are selected from individuals of the previous generation. Various methods can be considered for selecting crossover partners, but here we will explain a method called tournament selection as an example. 【0022】Figure 5 is an explanatory diagram of tournament selection. Tournament selection is a method in which a fixed number of individuals are randomly selected from a group, and the individual with the highest fitness among the selected individuals is chosen. The number of individuals randomly selected is called the tournament size, and in the example of Figure 5, the tournament size is "2". In tournament selection, the selection pressure can be controlled by the tournament size. Increasing the tournament size can increase the selection pressure, but it also makes it easier to converge early and fall into a local optimum. In Figure 5, the numbers assigned to each individual are their fitness scores, and a higher number indicates a higher fitness score and a better individual. In the example of Figure 5, as candidates for crossover, pairs of individuals with fitness scores of "1" and "3", and individuals with fitness scores of "10" and "5" are selected by random selection, and the individual with the highest fitness score in each pair is selected as the crossover target. In other words, the individual with a fitness score of "3" and the individual with a fitness score of "10" are selected as the parent individuals for crossover. The process shown in Figure 5 is repeated depending on the number of offspring individuals to be generated. 【0023】 Here, we will explain crossover, a type of genetic manipulation used in genetic algorithms. Crossover is an operation that generates offspring individuals from parent individuals selected as crossover targets. For example, crossover involves exchanging and blending the decision variables of the selected crossover targets to generate a new individual. In crossover, it is common to generate two offspring individuals from two parent individuals, but it is also possible to crossover using three or more parent individuals, or to generate one offspring individual from two parent individuals. 【0024】Figure 6 is a schematic diagram illustrating crossover. Crossover is the process of generating a new individual by exchanging and blending the decision variables of two selected crossover targets. In Figure 6, the values of the decision variables are schematically shown as "○" and "×". Figure 6 shows an example of generating a child individual by exchanging the decision variables of two parent individuals, individual #1 and individual #2. For example, consider the case where individual #1 is represented as "○×○×○×○×○×" and individual #2 is represented as "○○○×××○○○○". In this case, as a child individual, the first half of individual #1 "○×○×○" and the second half of individual #2 "×○○○○" can be combined to generate "○×○×○×○○○○", and the first half of individual #2 "○○○××" and the second half of individual #1 "×○×○×" can be combined to generate "○○○×××○×○×". 【0025】 The multi-problem simultaneous optimization unit 13 can perform crossover while allowing multiple optimization problems to "interact". The multi-problem simultaneous optimization unit 13 can perform optimization while allowing multiple optimization problems to "interact" by using individuals from different optimization problems as the individuals to be crossovered. The multi-problem simultaneous optimization unit 13 simultaneously performs the generation of offspring individuals, calculation of fitness, and selection iteration as shown in Figure 4 for each of the multiple optimization problems. The multi-problem simultaneous optimization unit 13 shares memory areas for optimization among the multiple optimization problems, and when generating offspring individuals in one optimization problem, it can refer to the memory areas for optimization in other optimization problems. 【0026】 Next, we will explain mutation, a type of genetic manipulation used in genetic algorithms. Mutation is a genetic manipulation that changes some of the decision variables of a selected individual to new values. 【0027】Figure 7 is a schematic diagram illustrating mutation. In Figure 7, as in Figure 6, the values of the decision variables are schematically shown as "○" and "×". For example, if individual #1 is represented as "○×○×○×○×○×", an example is shown in which the seventh decision variable is changed from "○" to "×" to become "○×○×○×××○×". The number of decision variables to be changed is not limited to one; it may be two. For example, in Figure 7, if individual #2 is represented as "○○○×××○○○○", an example is shown in which the last two decision variables are changed from "○○" to "××" to become "○○○×××○○××". 【0028】 In this example, the multi-problem simultaneous optimization unit 13 selects parent individuals to cross over when generating offspring individuals, performs a crossover using the selected parent individuals, and then performs a mutation operation on the resulting offspring individuals. However, the method of generating offspring individuals is not limited to this example. For example, mutation may be performed on the selected parent individuals without performing a crossover. 【0029】 Returning to the explanation of Figure 1, the multiple problem simultaneous optimization unit 13 obtains solutions to each of the multiple optimization problems generated by the problem division unit 12, and then outputs the solutions as processing results to the visualization unit 14. 【0030】 The visualization unit 14 outputs the solutions which are the processing results of the simultaneous optimization unit 13 for multiple problems. The visualization unit 14 can, for example, display each of the multiple optimization problems and the solutions for each optimization problem in an identifiable manner. 【0031】 Here, we have described an example of crossbreeding different optimization problems by focusing on the characteristics of each individual; however, crossbreeding can also be performed by focusing on the characteristics of the space in which the individuals reside. 【0032】 Next, we will explain the operation of the optimization device 1. Figure 8 is a flowchart illustrating the operation of the optimization device 1. 【0033】 First, the user inputs the data necessary for optimization into the optimization device 1 (step S101). The data preprocessing unit 11 converts the input data into a data format for input to the multi-problem simultaneous optimization unit 13 (step S102). 【0034】 The problem division unit 12 divides the optimization problem based on the set division method (step S103). Here, division means setting a plurality of different conditions for one optimization problem to generate a plurality of optimization problems. 【0035】 The multi-problem simultaneous optimization unit 13 performs simultaneous optimization of the plurality of optimization problems generated by the problem division unit 12 using multi-factor optimization (step S104). Details of the simultaneous optimization of the plurality of problems using multi-factor optimization will be described later. 【0036】 The visualization unit 14 outputs the optimization result, which is the processing result of the multi-problem simultaneous optimization unit 13 (step S105). 【0037】 Here, the simultaneous optimization of the plurality of problems using multi-factor optimization will be described. 【0038】 FIG. 9 is a flowchart for explaining the multi-factor optimization of the optimization device 1. The processing shown in FIG. 9 is an example of the details of step S104 in FIG. 8. 【0039】 The multi-problem simultaneous optimization unit 13 first generates an initial population P0 of N individuals (step S201). Subsequently, the multi-problem simultaneous optimization unit 13 sets the task T to the skill factor of the individual p i included in the generated population P0. i Here, a task refers to one optimization problem, and a skill factor is information indicating which task an individual corresponds to. Here, the multi-problem simultaneous optimization unit 13 may assign the skill factors evenly, or may assign the skill factors according to the importance of the tasks. 【0040】 The multi-problem simultaneous optimization unit 13 starts evaluation only for the task T corresponding to the skill factor of the individual p i (step S203). The multi-problem simultaneous optimization unit 13 sets t = 0 (step S204). t is a variable indicating the generation. i The multi-problem simultaneous optimization unit 13 selects parent individuals P 【0041】 from the population P t and selects parent individuals P tSelect '(Step S205)'. The multiple problem simultaneous optimization unit 13 performs genetic operations such as crossover and mutation on the selected parent individual P t ' to generate an offspring individual C t (Step S206). At this time, the multiple problem simultaneous optimization unit 13 may change the crossover method according to the skill factor of the parent individual. By crossing with a parent individual having a different skill factor, knowledge between tasks can be shared. 【0042】 The multiple problem simultaneous optimization unit 13 sets the skill factor for the offspring individual C t to be inherited from the parent individual P t ' (Step S207). The multiple problem simultaneous optimization unit 13 performs an evaluation according to the skill factor on the union of the parent individual P t ' and the offspring individual C t and selects the population P t+1 in descending order of evaluation (Step S208). Here, the multiple problem simultaneous optimization unit 13 evaluates the quality of the solution by the method set according to the task. There is no particular limitation on the method for evaluating the quality of the solution. Subsequently, the multiple problem simultaneous optimization unit 13 increments the value of t (Step S209). 【0043】 The multiple problem simultaneous optimization unit 13 determines whether the end condition is satisfied (Step S210). If the end condition is not satisfied (Step S210: No), the multiple problem simultaneous optimization unit 13 returns to Step S205 and repeats the process. If the end condition is satisfied (Step S210: Yes), the multiple problem simultaneous optimization unit 13 exits the generation loop that repeats the processes from Step S205 to Step S210 and ends the process. 【0044】As described above, Embodiment 1 provides an optimization device 1 characterized by comprising: a problem division unit 12 that generates multiple optimization problems by setting different conditions for one optimization problem; a multiple problem simultaneous optimization unit 13 that simultaneously optimizes the generated multiple optimization problems while allowing them to interact with each other; and a visualization unit 14 that outputs solutions for the multiple optimization problems. With the optimization device 1, multiple optimization problems generated by setting multiple different conditions for one optimization problem can be optimized simultaneously to obtain a solution. At this time, since the multiple optimization problems are simultaneously optimized while allowing them to interact with each other, a solution can be efficiently obtained for one optimization problem under multiple conditions. 【0045】 The multi-problem simultaneous optimization unit 13 can simultaneously obtain solutions to multiple optimization problems through multi-factor optimization. The method used by the multi-problem simultaneous optimization unit 13 for optimization can be any method that "simultaneously optimizes while interacting" with other factors. Here, multi-factor optimization (MFO) has been described, but the method used by the multi-problem simultaneous optimization unit 13 for optimization may also be multi-factor particle swarm optimization (MFPSO), multi-factor differential evolution (MFDE), or other methods. 【0046】 The multi-problem simultaneous optimization unit 13 searches for solutions to the optimization problems by generating individuals that are candidates for the solution of the optimization problem, eliminating the generated individuals, and generating new individuals (child individuals) from the remaining individuals, repeating this process until the termination condition is met. By generating new individuals based on individuals from different optimization problems, it is possible to enable interaction between multiple optimization problems. 【0047】 The multiple problem simultaneous optimization unit 13 may generate new individuals based on the characteristics of the individuals themselves for different optimization problems, or it may generate new individuals based on the "characteristics of the space" in which individuals for different optimization problems exist. 【0048】The problem division unit 12 can generate multiple optimization problems from the original optimization problem that includes constraints and optimizes the objective function, including the original optimization problem and optimization problems obtained by removing at least one of the constraints and objective function of the original optimization problem. 【0049】 Furthermore, according to Embodiment 1, an optimization method can also be provided that comprises the steps of: generating multiple optimization problems by setting different conditions for one optimization problem; simultaneously optimizing the generated multiple optimization problems while allowing them to interact with each other; and outputting solutions for the multiple optimization problems. 【0050】 Furthermore, according to Embodiment 1, an optimization program can be provided that causes a computer to perform the following steps: generate multiple optimization problems by setting different conditions for a single optimization problem; simultaneously optimize the generated multiple optimization problems while allowing them to interact with each other; and output solutions to the multiple optimization problems. Furthermore, according to Embodiment 1, a storage medium storing the optimization program can also be provided. 【0051】 Embodiment 2. Figure 10 shows an example of the functional configuration of the optimization device 2 according to Embodiment 2. 【0052】 The optimization device 2 includes a data preprocessing unit 11, a problem division unit 12A, a multi-problem simultaneous optimization unit 13, a visualization unit 14, and a problem division method setting unit 15. The optimization device 2 has a problem division unit 12A instead of the problem division unit 12 of the optimization device 1 according to Embodiment 1, and further has a problem division method setting unit 15. 【0053】The problem division method setting unit 15 has the function of setting a method for the problem division unit 12A to divide the optimization problem. The problem division method setting unit 15 may accept a user operation to specify the division method and make a setting based on the user operation, or it may accept a file describing the division method and make a setting based on the file. The problem division unit 12A generates multiple optimization problems by setting different conditions for one optimization problem according to the division method set by the problem division method setting unit 15. 【0054】 For example, in the example shown in Figure 2, the following division methods are set: Problem #1 = {Objective Function #1, Objective Function #2, Constraint #1, Constraint #2}, Problem #2 = {Objective Function #1, Objective Function #2, Constraint #1}, Problem #3 = {Objective Function #1, Constraint #1, Constraint #2}. 【0055】 As described above, according to Embodiment 2, in addition to the configuration of the optimization device 1 of Embodiment 1, the device further includes a problem division method setting unit 15 that sets a method for the problem division unit 12A to generate a plurality of optimization problems, and the problem division unit 12A generates a plurality of optimization problems according to the method set by the problem division method setting unit 15. This provides an optimization device 2. Since the method for generating a plurality of optimization problems can be specified, it becomes possible for the user to appropriately set multiple conditions for obtaining a solution according to the situation. 【0056】 Embodiment 3. Figure 11 is a diagram showing an example of the functional configuration of the optimization device 3 according to Embodiment 3. 【0057】 The optimization device 3 includes a data preprocessing unit 11, a problem division unit 12B, a multi-problem simultaneous optimization unit 13B, a visualization unit 14, and a preference setting unit 16. The optimization device 3 has a problem division unit 12B instead of the problem division unit 12 of the optimization device 1 according to Embodiment 1, a multi-problem simultaneous optimization unit 13B instead of the multi-problem simultaneous optimization unit 13, and further includes a preference setting unit 16. 【0058】The preference setting unit 16 sets preferences that align with the user's objectives as reference points in the target variable space. The problem partitioning unit 12B generates an optimization problem that takes into account the preferences set by the preference setting unit 16, and an optimization problem that excludes the preferences. 【0059】 Figure 12 is an explanatory diagram of an example of the operation of the problem division unit 12B shown in Figure 11. The problem division unit 12B generates problems #4, #5, and #6 from one optimization problem that takes into account the preferences set by the preference setting unit 16. At this time, the problem division unit 12B generates multiple problems, including problems #4 and #5 that take into account the preferences, and problem #6 that does not take the preferences into account. 【0060】 Here, we will explain optimization that takes preferences into account. Preferences are considered when selecting for individual solutions. For example, the multi-problem simultaneous optimization unit 13B performs selection such that solutions close to the reference point survive when evaluating the quality of the solutions. 【0061】 Figure 13 shows a first example of the selection method. In Figure 13, the horizontal axis f1 and the vertical axis f2 represent the objective function. The same applies to Figures 14 and 15 below. In the first example, rank is prioritized, and within the same rank, solutions are evaluated in order of smallest Euclidean distance to the nearest reference point. In Figure 13, the numbers assigned to individuals indicate the order of solutions, with smaller numbers indicating survival. 【0062】 Figure 14 shows a second example of the selection method. In the second example, solutions are evaluated in descending order of the value calculated by the following formula (1). 【0063】 (εcosθ) k ) r ... (1) 【0064】 Here, θ k ε is the angle between the reference point vector and the individual vector, ε is a hyperparameter for adjusting rank priority, and r is the rank. In Figure 14, the numbers assigned to the individuals indicate the order of the solutions, with smaller numbers being selected to ensure survival. 【0065】Here, we will explain how the "rank" is calculated. The rank is an indicator of the quality of the solution, with a rank closer to 1 indicating a better solution. 【0066】 Figure 15 is an explanatory diagram of the ranking calculation method. 【0067】 First, the multi-problem simultaneous optimization unit 13B sets rank #1 as an individual not controlled by any other individual. For all objective functions, individual x k A better rated individual x j If such an individual x exists k This is defined as being controlled. In the example shown in the left diagram of Figure 15, the multi-problem simultaneous optimization unit 13B assigns rank #1 to the four individuals that are not controlled by any other individual. 【0068】 Next, individuals that are not controlled by any other individuals except for rank #1 are assigned rank #2. In the example shown in the middle diagram of Figure 15, the multi-problem simultaneous optimization unit 13B assigns two individuals that are not controlled by any other individuals except for rank #1 to rank #2. The multi-problem simultaneous optimization unit 13B repeats the ranking process, assigning rank #3 to individuals that are not controlled by any other individuals except for ranks #1 and #2, and then assigning rank #4 to individuals that are not controlled by any other individuals except for ranks #1, #2, and #3. In the right diagram of Figure 15, all individuals have been ranked. 【0069】 Furthermore, when evaluating solutions using ranks, the quality of solutions within the same rank can be assessed by their distance from surrounding solutions within the same rank; the greater the distance, the better the solution. 【0070】As described above, according to Embodiment 3, in addition to the configuration of the optimization device 1 of Embodiment 1, the problem division unit 12B can provide an optimization device 3 that generates a plurality of optimization problems, including the original optimization problem that considers preferences and an optimization problem that does not consider the preferences of the original optimization problem, from the original optimization problem that considers preferences. This optimization device 3 further includes a preference setting unit 16 that sets the reference points used by the multiple problem simultaneous optimization unit 13B when eliminating individuals as preferences. The problem division unit 12B generates a plurality of optimization problems, including an optimization problem that considers preferences and an optimization problem that does not consider preferences. The multiple problem simultaneous optimization unit 13B can eliminate individuals based on the reference points when eliminating individuals in the optimization problem that considers preferences. This makes it possible to efficiently obtain both a solution that considers the user's preferences and a solution that does not consider preferences at the same time. 【0071】 In the above, the optimization devices 1, 2, and 3 of Embodiments 1 to 3 were described without limiting the target of optimization. These optimization devices 1, 2, and 3 can be applied to any optimization problem where it is conceivable that optimization may be required under multiple conditions for a single optimization problem. Here, as an example of application, we will describe the case in which they are applied to a sewage treatment system 20. 【0072】 Figure 16 shows an example of applying the optimization device 1 to a sewage treatment system 20. The sewage treatment system 20 includes a sewer pipe 21, an inlet channel 22, a grit chamber 23, a pump well 24, a water pump 25, a primary sedimentation chamber 26, a reaction tank 27, a final sedimentation chamber 28, and disinfection equipment 29. 【0073】 The sewer pipe 21 carries the sewage, which flows from the sewer pipe 21 into the inflow channel 22, and is then transported to the grit basin 23. The grit basin 23 is a reservoir for settling and removing sediment, debris, and other materials from the sewage coming from the inflow channel 22. Through the grit basin 23, the sewage is transported to the pump well 24. 【0074】The sewage that reaches the pump well 24 is pumped up by the water pump 25 to flow to the next treatment facility, the primary sedimentation tank 26. The water pump 25 pumps up the sewage based on a set control amount. Until the sewage is pumped up by the water pump 25, it accumulates in the pump well 24, and the amount of sewage treated by the sewage treatment system 20 is controlled by the control amount set for the water pump 25. 【0075】 The primary sedimentation tank 26 removes pollutants from the sewage by allowing the dirty sewage to flow slowly, allowing small debris and mud that were not settled in the grit tank 23 to settle. The sewage treated in the primary sedimentation tank 26 flows into the reaction tank 27. The reaction tank 27 is a facility that cleans the sewage by having microorganisms consume the pollutants in the sewage. In the reaction tank 27, the sewage from the primary sedimentation tank 26 is mixed with activated sludge, which contains microorganisms, for treatment, so the sewage treated in the reaction tank 27 contains activated sludge. This sewage containing activated sludge is sent from the reaction tank 27 to the final sedimentation tank 28. The final sedimentation tank 28 slowly flows the sewage from the reaction tank 27, allowing the activated sludge to settle and clean water to be extracted. The clean water extracted in the final sedimentation tank 28 is sent to the disinfection equipment 29. The disinfection equipment 29 disinfects the clean water treated in the final sedimentation tank 28 before discharging it as treated water into rivers, etc. The disinfection equipment 29 disinfects water using chemicals. 【0076】 For such a sewage treatment system 20, the optimization device 1 acquires information on the amount of sewage inflow, the water level of the inflow channel 22, and the water quality of the water discharged into the river, and optimizes the control amount of the pumping pump 25 from this data. The optimization device 1 evaluates the water level of the inflow channel 22, the water quality after water treatment, and the amount of electricity used for one day from the control amount of the pumping pump 25 that is the target of optimization through simulation, and optimizes the control amount using a genetic algorithm to improve the evaluation values. 【0077】In such cases, possible objective functions include "water level," "electrical energy," and "water quality." Possible constraints include a water level constraint, "the water level in the inlet channel 22 must be within the allowable water level range," an electrical energy constraint, "the electrical energy must be within the contracted power range," and a water quality constraint, "the water quality must be within the regulatory limits." 【0078】 The optimization device 1 in Figure 16 has the functional configuration shown in Figure 1, and will be described below using the reference numerals shown in Figure 1. The data preprocessing unit 11 calculates the changes in the water level in the inflow channel 22 to date, the treatment status in the water treatment process carried out from the primary sedimentation tank 26 to the disinfection equipment 29, and the predicted inflow volume for the next day, based on data such as inflow volume, water level, and water quality acquired by sensors installed in the sewage treatment system 20, as well as weather information. 【0079】 The problem division unit 12 generates, for example, the original optimization problem, an optimization problem obtained by removing the water level constraint from the original optimization problem, an optimization problem obtained by removing the power consumption constraint from the original optimization problem, and an optimization problem obtained by removing the water quality constraint from the original optimization problem. 【0080】 The multi-problem simultaneous optimization unit 13 assigns skill factors to each optimization problem generated by the problem division unit 12. For example, the multi-problem simultaneous optimization unit 13 evenly distributes 100 individuals to the four generated optimization problems, assigning 25 individuals to each. In this example, skill factors are evenly distributed to all problems, but the number of individuals assigned may be changed according to the importance of the optimization problems. For example, the multi-problem simultaneous optimization unit 13 may assign skill factors in such a way that more individuals are assigned to important optimization problems. 【0081】 The visualization unit 14 can select one or more Pareto solutions obtained as optimization results for each of the multiple optimization problems and output the control variable, which is the optimization result, the evaluation value for the control variable, and the degree of constraint satisfaction to the operator of the sewage treatment system 20. 【0082】Although Figure 16 shows an example in which the optimization device 1 optimizes the control amount of the sewage treatment system 20, the optimization device 2 may be used instead of the optimization device 1, or the optimization device 3 may be used. 【0083】 Here, the hardware configuration of optimization devices 1, 2, and 3 will be described. The functions of optimization devices 1, 2, and 3 are implemented, for example, by a computer system. The functions of optimization devices 1, 2, and 3 may be implemented by one computer system or by multiple computer systems. For example, optimization devices 1, 2, and 3 may be implemented by a cloud system. In a cloud system, the separation of the computer system hardware and devices such as servers for each function can be arbitrarily configured. For example, one computer system may have the functions of multiple devices, or multiple computer systems may have the functions of one device. 【0084】 This section describes an example configuration of a computer system that implements the functions of optimization devices 1, 2, and 3. Figure 17 shows an example configuration of a computer system that implements the functions of optimization devices 1, 2, and 3. As shown in Figure 17, this computer system comprises a control unit 101, an input unit 102, a storage unit 103, a display unit 104, a communication unit 105, and an output unit 106, which are connected via a system bus 107. 【0085】In Figure 17, the control unit 101 is, for example, a CPU (Central Processing Unit). The control unit 101 executes a program that describes each process performed by the optimization devices 1, 2, and 3. The input unit 102 consists of, for example, a keyboard and mouse, and is used by the user of the computer system to input various information. The storage unit 103 includes various types of memory such as RAM (Random Access Memory) and ROM (Read Only Memory), and storage devices such as a hard disk, and stores the program that the control unit 101 should execute, necessary data obtained during the processing, etc. The storage unit 103 is also used as a temporary storage area for the program. The display unit 104 consists of an LCD (Liquid Crystal Display) or the like, and displays various screens to the user of the computer system. The communication unit 105 is a communication circuit that performs communication processing. The communication unit 105 may consist of multiple communication circuits corresponding to multiple communication methods. The output unit 106 is an output interface that outputs data to external devices such as a printer and an external storage device. 【0086】 Note that Figure 17 is an example, and the configuration of the computer system is not limited to the example in Figure 17. For example, the computer system does not have to have an output unit 106. Also, if the functions of the optimization devices 1, 2, and 3 are realized by multiple computer systems, not all of these computer systems have to be the computer system shown in Figure 17. For example, some computer systems do not have to have at least one of the display unit 104, output unit 106, and input unit 102 shown in Figure 17. 【0087】Here, we will describe an example of the operation of the computer system until the program describing the processing of optimization devices 1, 2, and 3 becomes executable. In a computer system with the above configuration, for example, the optimization program is installed in the storage unit 103 from a CD-ROM or DVD-ROM set in a CD (Compact Disc)-ROM drive or DVD (Digital Versatile Disc)-ROM drive (not shown). When the optimization program is executed, the optimization program read from the storage unit 103 is stored in the area that becomes the main memory of the storage unit 103. In this state, the control unit 101 executes the processing of optimization devices 1, 2, and 3 according to the program stored in the storage unit 103. 【0088】 In the above description, a program describing the processing in the optimization devices 1, 2, and 3 is provided using a CD-ROM or DVD-ROM as the recording medium. However, the system is not limited to this, and depending on the configuration of the computer system, the capacity of the program to be provided, a program provided via a transmission medium such as the Internet via the communication unit 105 may also be used. 【0089】 The program causes the computer system to perform the following steps: generate multiple optimization problems by setting different conditions for a single optimization problem; simultaneously optimize the generated multiple optimization problems while allowing them to interact with each other; and output solutions to the multiple optimization problems. 【0090】 The data preprocessing unit 11, problem division units 12, 12A, 12B, and simultaneous optimization units for multiple problems 13, 13B shown in Figures 1, 10, and 11 are implemented by the control unit 101 and storage unit 103 shown in Figure 17. The visualization unit 14 shown in Figures 1, 10, and 11 is implemented by the control unit 101, display unit 104, output unit 106, etc. shown in Figure 17. The problem division method setting unit 15 shown in Figure 10 and the preference setting unit 16 shown in Figure 11 are implemented by the control unit 101, input unit 102, etc. shown in Figure 17. 【0091】The configurations shown in the embodiments described above are merely examples of the content of this disclosure and can be combined with other known technologies, and parts of the configuration can be omitted or modified without departing from the gist of this disclosure. 【0092】 Furthermore, while the sewage treatment system 20 was used as an example of the application of optimization devices 1, 2, and 3 above, optimization devices 1, 2, and 3 can also be applied to other applications, such as optimizing the layout of printed circuit boards. Moreover, optimization devices 1, 2, and 3 can be broadly applied to any optimization problem where a solution is desired under multiple conditions, not limited to these examples. 【0093】 1, 2, 3 Optimization device, 11 Data preprocessing unit, 12, 12A, 12B Problem division unit, 13, 13B Multiple problem simultaneous optimization unit, 14 Visualization unit, 15 Problem division method setting unit, 16 Preference setting unit, 20 Sewage treatment system, 21 Sediment pipe, 22 Inflow channel, 23 Grit tank, 24 Pump well, 25 Water pump, 26 Primary sedimentation tank, 27 Reaction tank, 28 Final sedimentation tank, 29 Disinfection equipment, 101 Control unit, 102 Input unit, 103 Storage unit, 104 Display unit, 105 Communication unit, 106 Output unit, 107 System bus.
Claims
1. An optimization device comprising: a problem division unit that generates multiple optimization problems by setting different conditions for a single optimization problem; a multi-problem simultaneous optimization unit that simultaneously optimizes the generated multiple optimization problems while allowing them to interact with each other; and a visualization unit that outputs solutions for the multiple optimization problems.
2. The optimization apparatus according to claim 1, characterized in that the simultaneous optimization unit for multiple problems simultaneously obtains solutions to multiple optimization problems by multi-factor optimization.
3. The optimization apparatus according to claim 1 or 2, characterized in that the simultaneous optimization unit for multiple problems searches for a solution to the optimization problem by generating individuals that are candidates for the solution of the optimization problem, eliminating the generated individuals, and generating new individuals from the remaining individuals until the termination condition is met, and by generating new individuals based on individuals from different optimization problems, thereby causing interaction between the multiple optimization problems.
4. The optimization apparatus according to claim 3, characterized in that the simultaneous optimization unit for multiple problems generates new individuals based on the characteristics of the space in which individuals for different optimization problems exist.
5. The optimization apparatus according to any one of claims 1 to 4, characterized in that the problem division unit generates a plurality of optimization problems, each including the original optimization problem that includes constraints and optimizes an objective function, and an optimization problem obtained by removing at least one of the constraints and objective function of the original optimization problem.
6. The optimization apparatus according to any one of claims 1 to 5, further comprising a problem division method setting unit that sets a method for the problem division unit to generate a plurality of optimization problems, wherein the problem division unit generates a plurality of optimization problems according to the method set by the problem division method setting unit.
7. The optimization apparatus according to any one of claims 1 to 6, characterized in that the problem division unit generates a plurality of optimization problems, including the original optimization problem that takes preferences into account and an optimization problem that does not take preferences into account from the original optimization problem.
8. The optimization device according to claim 3, further comprising: a preference setting unit that sets reference points to be used by the simultaneous optimization unit for multiple problems to eliminate the individuals as preferences; the problem division unit generates a plurality of optimization problems including an optimization problem that takes the preferences into account and an optimization problem that does not take the preferences into account; and the simultaneous optimization unit for multiple problems eliminates the individuals based on the reference points when eliminating the individuals in the optimization problem that takes the preferences into account.
9. An optimization method characterized by comprising the steps of: generating multiple optimization problems by setting different conditions for a single optimization problem; simultaneously optimizing the generated multiple optimization problems while allowing them to interact with each other; and outputting solutions for the multiple optimization problems.
10. An optimization program characterized by causing a computer to perform the following steps: generating multiple optimization problems by setting different conditions for a single optimization problem; simultaneously optimizing the generated multiple optimization problems while allowing them to interact with each other; and outputting solutions for the multiple optimization problems.