WO2013008345A1 - 最適解探索方法および最適解探索装置 - Google Patents

最適解探索方法および最適解探索装置 Download PDF

Info

Publication number
WO2013008345A1
WO2013008345A1 PCT/JP2011/075261 JP2011075261W WO2013008345A1 WO 2013008345 A1 WO2013008345 A1 WO 2013008345A1 JP 2011075261 W JP2011075261 W JP 2011075261W WO 2013008345 A1 WO2013008345 A1 WO 2013008345A1
Authority
WO
WIPO (PCT)
Prior art keywords
individuals
individual
value
optimal solution
search
Prior art date
Application number
PCT/JP2011/075261
Other languages
English (en)
French (fr)
Inventor
宮口尚太
中嶋宏
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Publication of WO2013008345A1 publication Critical patent/WO2013008345A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Definitions

  • the present invention relates to a technique for improving a defect that falls into a local solution in an optimal solution search by a computer.
  • the method of obtaining a parameter (optimal solution) that minimizes or maximizes a complex function by iterative calculation by a computer is called “optimal solution search”.
  • algorithm for searching for an optimum solution by a computer particle swarm optimization (Particle Swarm Optimization: PSO), genetic algorithm (Genetic Algorithm: GA), and the like are known (see Non-Patent Document 1 and Non-Patent Document 2).
  • PSO is a search method that imitates the behavior of large swarms such as insects and birds, and searches based on the solutions found in the entire flock and the solutions found by each individual.
  • GA is a search method that mimics the genetic process of a living organism. A plurality of individuals having solution candidates and evaluation values are prepared, and crossover (individuals having good evaluation values are combined to generate new individuals). This is a method of searching for an optimal solution by repeating operations such as operation) and mutation (operation for changing a part of a variable of an individual).
  • Non-Patent Document 1 proposes a method of dynamically changing the inertia term of an individual velocity update equation as an improved type of PSO. Specifically, by increasing the coefficient of the inertial term at the beginning of the calculation and by varying the behavior of the individual, it is possible to suppress the fall into the local solution, while reducing the coefficient of the inertial term at the later stage of the calculation. In this method, convergence is improved, and the vicinity of the provisional solution is intensively searched. However, with this method, since all individuals are concentrated around the provisional solution in the latter half of the calculation, it may not be possible to search for a global solution (true optimal solution).
  • the present invention has been made in view of the above circumstances, and the object of the present invention is to search for an optimal solution by a computer and to suppress a fall into a local solution and search for a highly reliable solution. Is to provide new technology.
  • an optimal solution search method is an optimal solution search method for obtaining an optimal solution for a given evaluation function by iterative calculation by a computer, and the computer includes a plurality of individuals that are solution candidates.
  • the end condition satisfies the initial setting step of setting at least the initial value of the calculation and the end condition of the repeated calculation, and the computer calculates the evaluation value of each individual by assigning the value of each individual to the evaluation function.
  • a search step that repeats while updating the value of each individual, and an output step in which the computer outputs the value of the individual that gave the best evaluation value in the search step as the optimal solution of the evaluation function,
  • the search step when updating the value of each of the plurality of individuals, for some individuals of the plurality of individuals
  • the optimal solution search method characterized by updating expression including with any independent random sections of the current value and the evaluation value of the individual applies.
  • a provisional solution an operation that updates the value of each individual based on the value and evaluation value of each individual and the best solution at that time (referred to as a provisional solution) is repeated to obtain a solution that gives a better evaluation value. Searching is fundamental. However, in the conventional method, as a result of the behavior of all individuals being constrained by the provisional solution, only the surrounding area is searched, and a local solution may be obtained.
  • the present invention by introducing a random number term into the update formula, it is possible to give an appropriate variation to the values of some individuals.
  • the random number term is a term independent of the individual value and the evaluation value, the size and direction of the given variation are determined independently of the value of each individual and the provisional solution. Therefore, according to the present invention, at least a part of individuals move away from the provisional solution and behave in such a way as to randomly search the region other than the periphery of the provisional solution. Therefore, it can be expected that a better solution can be found with a smaller number of calculations.
  • the present invention by limiting the individuals (referred to as specific individuals) to which the update formula including the random number term is applied to “partial individuals”, it is possible to suppress a decrease in convergence. What is necessary is just to determine suitably the ratio (or number) of a specific individual according to an evaluation function, the number of dimensions of an individual, etc.
  • the specific individual may be arbitrarily selected every time it is updated, but preferably it is always the same individual.
  • Any method for selecting a specific individual may be used. For example, there are a method of selecting a specific individual randomly from all individuals, a method of selecting based on the position of the individual, and a method of selecting based on the evaluation value of the individual. As a method of selecting based on the position of the individual, for example, an individual far from the provisional solution may be preferentially specified as an individual, or an individual within a predetermined distance range from the provisional solution may be preferentially specified as a specific individual. Alternatively, a specific individual may be selected from various positions based on the position distribution of the entire group so that the distance from the provisional solution is not biased.
  • an individual with a poor evaluation value may be preferentially designated as a specific individual, or conversely, a specific individual may be selected from individuals with a good evaluation value.
  • Individuals with various evaluation values may be selected as specific individuals based on the distribution of evaluation values of the entire group so that the evaluation values are not biased.
  • the random number term includes a product of a uniform random number and a gain. This is because the diversity and concentration of individuals can be easily controlled simply by adjusting the gain value.
  • the gain may be increased when the evaluation values of all the plurality of individuals fall within a predetermined range.
  • the behavior of each individual becomes dull during the search, the movement of the specific individual can be activated again, so that the fall into a local solution can be prevented.
  • the gain may be increased (activation of the specific individual).
  • any optimal solution search method such as particle swarm optimization (PSO) or genetic algorithm (GA) can be used.
  • PSO particle swarm optimization
  • GA genetic algorithm
  • the update formula may be an update formula for updating the speed of an individual. More specifically, an update formula for updating the speed of individuals other than the part of individuals is represented by the following formula (1), and an update formula for updating the speed of the individuals of the partial is represented by the following formula (2). It is preferable.
  • the update formula for updating the individual value (position) is designed as the following formula (3) using the speed updated by the following formula (1) or (2).
  • the update formula is preferably an update formula for updating the value of the individual. More specifically, an update formula for updating values of individuals other than the part of individuals is expressed by the following formula (21), and an update formula for updating values of the partial individuals is expressed by the following formula (22). It is preferable to design to.
  • the present invention may be regarded as an optimal solution search method including at least a part of the above steps, or a program for causing a computer to execute each step of the method or a computer-readable storage medium storing the program. You can also.
  • the present invention can also be understood as an optimum solution search apparatus or system having at least a part of the above functional means.
  • Each of the above means and processes can be combined with each other as much as possible to constitute the present invention.
  • the optimal solution search device is an optimal solution search device that obtains an optimal solution for a given evaluation function by iterative calculation by a computer, and each of the initial values of a plurality of individuals that are solution candidates And an initial setting means for setting at least the end condition of the iterative calculation, and a process for calculating the evaluation value of each individual by substituting the value of each individual into the evaluation function until the end condition is satisfied.
  • Search means for repeatedly executing while updating the value, and output means for outputting the value of the individual that gave the best evaluation value in the iterative calculation by the search means as an optimal solution of the evaluation function,
  • search means updates the value of each of the plurality of individuals, for some individuals of the plurality of individuals, both the current value and the evaluation value of the individual
  • the optimal solution search apparatus characterized by applying the update equation including standing random number term.
  • (A) is a figure which shows typically the process example of the conventional optimal solution search method
  • (b) is a figure which shows typically the process example of the optimal solution search method of this invention.
  • It is a block diagram which shows typically the function structure of the optimal solution search apparatus of 1st Embodiment.
  • (A) is a figure which shows the processing result of 1st Embodiment
  • (b) is a figure which shows the processing result of the comparative example without a random number term. It is a flowchart of the optimal solution search process of 2nd Embodiment.
  • the present invention relates to an optimal solution search for finding an optimal solution for a given evaluation function (also called an objective function) by iterative calculation by a computer, and more particularly to a method for suppressing a fall into a local solution in an optimal solution search. is there.
  • the present invention enables improvement (performance improvement) of an existing optimum solution search method, and can be applied to all optimum solution search methods such as particle swarm optimization (PSO) and genetic algorithm (GA). It can be applied to.
  • PSO particle swarm optimization
  • GA genetic algorithm
  • the application range of the optimum solution search method to which the present invention is applied is diverse, and can be widely used for numerical calculation, problem analysis, predictive analysis, various simulations, etc. in fields such as academic, research, and industry, for example. Needless to say.
  • FIG. 1 schematically shows a processing example of a search problem for obtaining a solution x that minimizes the evaluation function f (x).
  • FIG. 1A shows an example of a conventional optimum solution search method, and FIG. Examples of the optimum solution searching method according to the invention are shown respectively.
  • the left two are local solutions (values of x that minimize the function f (x) when only the neighboring region is viewed), and the rightmost one is the global solution (minimizes the function f (x)). X value). In other words, in the search problem shown in the figure, it is ideal to find the position of the rightmost global solution.
  • PSO is a search method that imitates the behavior of large groups such as insects and birds. When one individual finds a good solution, it notifies the other individual, and the other individual moves toward the position of the solution. The search is performed. In PSO, each individual has two parameters: position x and velocity v.
  • the update formula of the position x and the speed v in the original PSO is as follows. That is, based on the inertia wv of the individual, the difference between the individual position x and the best position p best of the individual, and the difference between the individual position x and the best position g best of the whole group, the velocity v is updated, and the original position The position x is updated by adding the velocity v to x.
  • the individual parameters are multidimensional
  • x, v, p best , g best , R 1 , and R 2 in the following formulas are vectors.
  • the speed v is calculated using the same update equation (1) as the original PSO, whereas for the mth to nth individuals, the random number term ⁇ is included.
  • the speed v is calculated using the update formula (2). Note that the update formula (3) for the position x is the same as the original PSO.
  • the ratio (or number) of individuals (called specific individuals) to which the update formula (2) including the random term ⁇ is applied can be arbitrarily set. However, as the proportion of specific individuals increases, the convergence may be reduced, so that it may be set as appropriate according to the evaluation function f (x), the number of dimensions of individual parameters, and the like.
  • the inertia coefficient w k may be a constant as in the original PSO, but in the present embodiment, the inertia coefficient w k is gradually reduced as the search proceeds as in the following equation. Also, regarding the speed v, an upper limit may be provided such that v ⁇ v max and the value of the maximum speed v max may be gradually reduced as the search proceeds. By adjusting the inertia coefficient w k and the maximum speed v max in this way, it is possible to give diversity to individuals at the initial stage of the search and improve the global search capability, while concentrating as the search progresses. There is an advantage that the local search ability can be improved.
  • Random term design The random term ⁇ is independent of the individual position x, velocity v, evaluation value f (x), the best position p best , g best of the individual or the whole group, and takes a random value. Any variable can be used. However, since the random term ⁇ can affect the stability of the update equation (2), it is preferable to design the random term ⁇ according to the conditions described below.
  • the random term ⁇ is designed based on the stability measure of the update formula (2) described above.
  • a model in which the random number term cR is regarded as constant and the velocity v and the position x are one-dimensional is often used.
  • the model of the update formula (2) is as follows.
  • the random term ⁇ is designed based on the stability analysis of the system (4) so as to have diversity when performing a global search and to concentrate when performing a local search.
  • the stability of the system (4) is analyzed using the Lyapunov second method.
  • the scalar function V (z) is set as the following formula.
  • ⁇ 1 (k) and ⁇ 2 (k) are eigenvalues of the system matrix of (4), and T is a diagonal transformation matrix.
  • a random term is designed based on the stability measure of Equation (2).
  • the diversity can be enhanced by designing the random term ⁇ to be a random number having a large amplitude at the initial stage of the search.
  • diversity can be further enhanced by setting the initial value of the inertia coefficient w k to 1 or more.
  • the inertia coefficient w k gradually decreases and satisfies the formula (9), thereby stabilizing the system.
  • the input section on p k and to a input term ⁇ system (4) may If it is bounded values.
  • the system (4) is converged by setting the input of the system (4) to 0 for k >> 1.
  • the convergence destination may be a local solution, not a global solution. For this reason, when the entire group has converged within a predetermined range, it is desirable to activate the movement of the specific individual again by increasing the amplitude of the random number term ⁇ .
  • the random number term ⁇ is defined as the product of the uniform random number R 3 and the random number gain w f , and the random number gain w f is controlled as follows. That is, the random number gain w f is gradually decreased at each repeated calculation, but if the evaluation value f (x) of all individuals is within a predetermined range ⁇ from the evaluation value f (g best ) for the provisional solution g best . when settled, the exceptionally is to increase the random gain w f by a predetermined amount [Delta] w.
  • the predetermined range ⁇ may be set to any value, but preferably, a range (value range) where a plurality of local solutions are expected not to exist in the function f (x) may be set to ⁇ .
  • a range ⁇ can be determined based on, for example, the distribution of evaluation values of the entire group at the initial stage of the search (variance, average, maximum value, minimum value, etc.).
  • FIG. 2 is a block diagram schematically showing a functional configuration of the optimum solution search apparatus according to the present embodiment.
  • the optimal solution search apparatus includes a calculation unit 1, an input unit 2, and an output unit 3.
  • the calculation unit 1 further includes an initial condition setting unit 10, a search processing unit 11, and a random number control unit 12.
  • the apparatus is a general-purpose device including hardware resources such as a central processing unit (CPU), a main storage device (RAM), an auxiliary storage device (HDD, SSD, etc.), an input device (keyboard, mouse, etc.), a display device, etc.
  • the computer can be configured.
  • Each function shown in FIG. 2 is realized by the CPU loading a program stored in the auxiliary storage device into the RAM and executing the program.
  • the initial condition setting unit 10 prompts the user to input initial conditions by outputting an initial condition setting screen to the output unit 3 such as a display device.
  • the initial condition setting unit 10 stores the initial conditions in the storage device.
  • the initial conditions input here include an evaluation function, initial values (initial position and initial velocity) of each of a plurality of individuals that are solution candidates, an end condition, and the like.
  • the termination condition the number of iterations can be designated, or a convergence condition for determining that the solution has converged can be designated.
  • Convergence conditions include, for example, a condition that a solution is not updated even if a predetermined number of iterations are executed, or an error is specified for a target evaluation value, and a solution that falls within that error range is found. Can be a condition. If necessary, the number or ratio of specific individuals, the selection method (selection rule) of specific individuals, the range of values that the random number term ⁇ can take (that is, the initial value and range of the random number gain w f ), the update formula ( It is also possible to set various coefficient values, inertia coefficients, maximum speed adjustment coefficients ⁇ , ⁇ , random gain adjustment coefficients K, ⁇ w, etc. in 1) and (2).
  • the characteristics of the optimal solution search device can be freely adjusted by the user according to the purpose and application.
  • the search processing unit 11 When the setting of the initial conditions is completed, the search processing unit 11 performs the repeated calculation of S11 to S19 until the end condition is satisfied, and searches for the optimal solution.
  • the search processing unit 11 substitutes the position x of each individual into the evaluation function f (x) to obtain the evaluation value of each individual.
  • the search processing unit 11 compares the evaluation value of each individual obtained in S11 with the values of f (p best ) and f (g best ) obtained so far, and a better solution has been found. In this case, p best and g best are updated.
  • the search processing unit 11 calculates the velocity v of each individual using the velocity update equation of equations (1) and (2). At this time, a variation is given to the speed of the specific individual by the random number term ⁇ in Expression (2).
  • the search processing unit 11 calculates the position x of each individual using the position update formula of Formula (3).
  • the random number control unit 12 determines whether or not the evaluation values of all the individuals are within the range of f (g best ) + ⁇ , and if not, the random number gain w f is calculated according to Expression (11). reduce (S17), if you are seated to increase the random gain w f by the equation (12) (S18).
  • the search processing unit 11 determines whether or not the end condition set in S10 is satisfied. If the end condition is not satisfied, the process returns to S11. If the end condition is satisfied, the process returns to S20. move on. In S20, the search processing unit 11 outputs the value of g best as the optimal solution of the evaluation function f (x) to the output unit 3 and the like, and ends the optimal solution search process.
  • FIG. (A) shows the processing result of 1st Embodiment
  • (b) has shown the processing result of the comparative example without random number term (psi). It can be seen that the process of the first embodiment can reach a better solution with a smaller number of iterations.
  • the inventors define a value obtained by dividing the average of the evaluation values obtained by the process of the comparative example by the average of the evaluation values obtained by the process of the first embodiment as a “performance improvement ratio”.
  • a performance improvement ratio is about 2.0
  • a ten-dimensional individual is about 2.4. I was able to verify.
  • the update formulas (1) and (2) and the random number are obtained by fixing in advance the individuals to which the update formula (2) including the random number term ⁇ is applied and the individuals to which the other update formula (1) is applied.
  • the random number term ⁇ consisting of the product of the uniform random number R 3 and the random number gain w f
  • the magnitude of the random number amplitude can be adjusted only by adjusting the value of the random number gain w f .
  • Individual diversity and concentration can be easily controlled.
  • S17 as shown in (Equation (11)), because we reduce the random gain w f for every iteration, movement of the specific individual according to the search progresses stably, to improve the convergence it can.
  • S18 equation (12)
  • the evaluation value of all individuals had within a predetermined range, it increases the random gain w f.
  • GA is a search method that mimics the genetic process of living organisms.
  • the value of an individual is regarded as a gene, and crossover (operation to generate individuals of the next generation by combining genes of individuals with good evaluation values), suddenly
  • This is a method for searching for an individual that gives a better evaluation value while repeating operations such as mutation (operation for changing part of an individual gene).
  • variations in random numbers are given to some individuals to suppress falling into local solutions. Since the process of GA itself can use a conventionally well-known thing as it is, detailed description of GA is abbreviate
  • the apparatus configuration for executing the optimum solution searching process of the present embodiment is the same as that shown in FIG. 2, the description will be given below with reference to the reference numerals in FIG. 2.
  • the initial condition setting unit 10 first prompts the user to input initial conditions by outputting an initial condition setting screen to the output unit 3 such as a display device.
  • the initial condition setting unit 10 stores the initial conditions in the storage device.
  • the initial conditions input here include an evaluation function, initial values of a plurality of individuals that are solution candidates, an end condition, and the like.
  • the termination condition the number of iterations can be designated, or a convergence condition for determining that the solution has converged can be designated. If necessary, the number or ratio of specific individuals, a method for selecting specific individuals, a range of values that can be taken by the random number term ⁇ , random gain adjustment coefficients K, ⁇ w, and the like can be set.
  • the search processing unit 11 When the setting of the initial conditions is completed, the search processing unit 11 repeatedly performs the calculation of S31 to S38 until the end condition is satisfied, and searches for the optimal solution.
  • the search processing unit 11 substitutes the value x of each individual into the evaluation function f (x) to obtain the evaluation value of each individual.
  • operations such as crossover and mutation are performed on a plurality of individuals selected based on the evaluation value of each individual obtained in S31 to generate a next generation individual.
  • the search processing unit 11 gives a random variation to the values of some individuals.
  • the update formula used in S33 is as follows. That is, for the 1st to m ⁇ 1th individuals, the value x ′ generated in S32 is used as it is, and for the mth to nth individuals, the random term ⁇ is added to the value x ′ by the update equation (22). Is added.
  • the random number term ⁇ the one defined by the product of the uniform random number R 3 and the random number gain w f can be used as in the equation (10) of the first embodiment.
  • the second embodiment for the system stability of GA are secured, there is no particular limitation on the value of the random number gain w f.
  • the search processing unit 11 an evaluation value of each individual obtained in S31, compared with the values obtained f (g best) so far, the g best if a better solution is found Update.
  • the random number control unit 12 determines whether or not the evaluation values of all the individuals are within the range of f (g best ) + ⁇ , and if not, the random number gain w f is calculated according to Expression (11). reduce (S36), if you are seated to increase the random gain w f by the equation (12) (S37).
  • the search processing unit 11 determines whether or not the end condition set in S30 is satisfied. If the end condition is not satisfied, the process returns to S31. If the end condition is satisfied, the process returns to S39. move on. In S39, the search processing unit 11 outputs the value of g best as the optimal solution of the evaluation function f (x) to the output unit 3 and the like, and ends the optimal solution search process.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Genetics & Genomics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Physiology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

 与えられた評価関数に対する最適解をコンピュータによる繰り返し計算により求める最適解探索方法であって、解の候補である複数の個体それぞれの初期値と、繰り返し計算の終了条件と、を少なくとも設定する初期設定ステップと、各個体の値を評価関数に代入し各個体の評価値を計算する処理を、前記終了条件が満たされるまで、各個体の値を更新しながら、繰り返す探索ステップと、前記探索ステップにおいて最良の評価値を与えた個体の値を、前記評価関数の最適解として出力する出力ステップと、を含む。前記探索ステップでは、前記複数の個体それぞれの値を更新する際に、前記複数の個体のうちの一部の個体については、その個体の現在の値および評価値のいずれとも独立した乱数項を含む更新式が適用される。

Description

最適解探索方法および最適解探索装置
 本発明は、コンピュータによる最適解探索において、局所解に陥る欠点を改善するための技術に関する。
 複雑な関数を最小化あるいは最大化するパラメータ(最適解)を、コンピュータによる繰り返し計算によって求める方法は「最適解探索」と呼ばれる。コンピュータによる最適解探索のアルゴリズムとしては、粒子群最適化(Particle Swarm Optimization:PSO)、遺伝的アルゴリズム(Genetic Algorithm:GA)などが知られている(非特許文献1、非特許文献2参照)。
 PSOとは、昆虫や鳥などの大群の挙動を模倣した探索方法であり、群れ全体で発見した解と個体それぞれが発見した解に基づき探索を行うというものである。一方、GAとは、生物の遺伝過程を模倣した探索方法であり、解の候補と評価値をもつ個体を複数用意し、交叉(良い評価値をもつ個体同士を組み合わせて新たな個体を生成する操作)、突然変異(個体がもつ変数の一部を変化させる操作)などの操作を繰り返すことで最適解を探索するという方法である。
 この種の最適解探索においては、局所解への陥りを回避することが共通の技術課題となる。例えば非特許文献1では、PSOの改良型として、個体の速度更新式の慣性項を動的に変化させる方法が提案されている。具体的には、計算初期では慣性項の係数を大きくし個体の挙動にバラツキを持たせることで、局所解への陥りを抑制する一方で、計算後期では慣性項の係数を小さくしていくことで収束性を向上させ、暫定解の周辺を集中的に探索するという方法である。しかしながら、この方法では、計算後期において暫定解の周辺に全ての個体が集中してしまうため、大域解(真の最適解)の探索ができなくなるおそれがある。
P.C. Fourie and A.A. Groenwold, "The particle swarm optimization algorithm in size and shape optimization", Struct Multidisc Optim Vol.23, pp.259-267, 2002. C.B. Lucasius and G. Kateman (1993). 「Understanding and using genetic algorithms - Part 1. Concepts, properties and context.」 Chemometrics and Intelligent Laboratory Systems 19:1-33.
 本発明は上記実情に鑑みてなされたものであって、その目的とするところは、コンピュータによる最適解探索において、局所解への陥りを抑制し、信頼性の高い解を索出することが可能な技術を提供することにある。
 上記目的を達成するために本発明は、以下の構成を採用する。すなわち、本発明の一態様に係る最適解探索方法は、与えられた評価関数に対する最適解をコンピュータによる繰り返し計算により求める最適解探索方法であって、コンピュータが、解の候補である複数の個体それぞれの初期値と、繰り返し計算の終了条件と、を少なくとも設定する初期設定ステップと、コンピュータが、各個体の値を評価関数に代入し各個体の評価値を計算する処理を、前記終了条件が満たされるまで、各個体の値を更新しながら、繰り返す探索ステップと、コンピュータが、前記探索ステップにおいて最良の評価値を与えた個体の値を、前記評価関数の最適解として出力する出力ステップと、を含み、前記探索ステップでは、前記複数の個体それぞれの値を更新する際に、前記複数の個体のうちの一部の個体については、その個体の現在の値および評価値のいずれとも独立した乱数項を含む更新式が適用されることを特徴とする最適解探索方法である。
 最適解探索においては、各個体の値や評価値、その時点における最良の解(暫定解と呼ぶ)などに基づいて各個体の値を更新する操作を繰り返し行い、より良い評価値を与える解を探索することが基本となる。しかし従来の方法では、全ての個体の挙動が暫定解に拘束される結果、その周辺領域しか探索されず、局所解に陥る場合がある。
 これに対し、本発明では、更新式に乱数項を導入したことによって、一部の個体の値に対して適度なバラツキを付与することができる。しかも、乱数項は個体の値や評価値とは独立した項になっているため、付与されるバラツキの大きさや方向は、各個体の値や暫定解とは無関係に決まるものとなる。したがって、本発明によれば、少なくとも一部の個体が暫定解からの拘束を離れ、暫定解の周辺以外の領域もランダムに探索するような挙動をとるため、局所解への陥りを可及的に回避し、且つ、より良い解をより少ない計算回数で発見できるようになるものと期待できる。
 また、本発明では、乱数項を含む更新式が適用される個体(特定個体と呼ぶ)を「一部の個体」に限定したことによって、収束性の低下を抑制することができる。特定個体の割合(もしくは数)については、評価関数や個体の次元数などに応じて適宜決定すればよい。ところで、特定個体は更新の都度任意に選んでもよいが、好ましくは、常に同じ個体であるとよい。乱数項を含む更新式が適用される個体とそれ以外の更新式が適用される個体とを予め固定しておくことにより、更新式および乱数項の設計が容易になるとともに、処理(プログラム)が単純化されるという利点があるからである。特定個体の選択方法(選択規則)としては、どのようなものを用いてもよい。例えば、全ての個体の中からランダムに特定個体を選ぶ方法、個体の位置に基づいて選ぶ方法、個体の評価値に基づいて選ぶ方法などがある。個体の位置に基づいて選ぶ方法としては、例えば、暫定解からの距離が遠い個体を優先的に特定個体としてもよいし、暫定解から所定の距離範囲にある個体を優先的に特定個体としてもよいし、暫定解からの距離が偏らないように群全体の位置分布に基づき様々な位置から特定個体を選び出してもよい。また、評価値に基づいて選ぶ方法としては、例えば、評価値の悪い個体を優先的に特定個体としてもよいし、逆に評価値の良い個体の中から特定個体を選んでもよいし、特定個体の評価値が偏らないように群全体の評価値分布に基づき様々な評価値の個体を特定個体として選んでもよい。
 ここで、前記乱数項は、一様乱数とゲインとの積を含んでいることが好ましい。ゲインの値を調整するだけで、個体の多様性や集中性を簡単に制御できるようになるからである。
 例えば、前記探索ステップにおいて、繰り返し計算のたびにゲインを減少させていけば、探索が進むにしたがって特定個体の動きが安定するため、集中性を向上させることができる。さらに、前記探索ステップにおいて、前記複数の個体すべての評価値が所定の範囲に収まった場合に、前記ゲインを増加させるようにしてもよい。これにより、探索途中で各個体の挙動が鈍くなってしまった場合などに、特定個体の動きを再び活発にすることができるので、局所解への陥りを防ぐことが可能となる。例えば、その時点での最良の評価値(暫定解に対する評価値)から所定の範囲にすべての個体の評価値が収まった場合などに、ゲインの増加(特定個体の活発化)を行うとよい。
 前記探索ステップでは、粒子群最適化(PSO)、遺伝的アルゴリズム(GA)など、任意の最適解探索方法を用いることができる。
 例えば、PSOによって最適解の探索が行われる場合には、前記更新式は、個体の速度を更新するための更新式であるとよい。より詳しくは、前記一部の個体以外の個体の速度を更新するための更新式を下記式(1)、前記一部の個体の速度を更新するための更新式を下記式(2)とすることが好ましい。個体の値(位置)を更新するための更新式は、下記式(1)又は(2)によって更新された速度を用いて、下記式(3)のように設計する。
Figure JPOXMLDOC01-appb-M000003
 また、GAによって最適解の探索が行われる場合には、前記更新式は、個体の値を更新するための更新式であるとよい。より詳しくは、前記一部の個体以外の個体の値を更新するための更新式を下記式(21)、前記一部の個体の値を更新するための更新式を下記式(22)のように設計することが好ましい。
Figure JPOXMLDOC01-appb-M000004
 本発明は、上記ステップの少なくとも一部を含む最適解探索方法として捉えてもよいし、かかる方法の各ステップをコンピュータに実行させるためのプログラムやそのプログラムを記憶したコンピュータ読み取り可能な記憶媒体として捉えることもできる。また、本発明は、上記の機能手段の少なくとも一部を有する最適解探索装置やシステムとして捉えることもできる。なお、上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
 例えば、本発明の一態様に係る最適解探索装置は、与えられた評価関数に対する最適解をコンピュータによる繰り返し計算により求める最適解探索装置であって、解の候補である複数の個体それぞれの初期値と、繰り返し計算の終了条件と、を少なくとも設定する初期設定手段と、各個体の値を評価関数に代入し各個体の評価値を計算する処理を、前記終了条件が満たされるまで、各個体の値を更新しながら、繰り返し実行する探索手段と、前記探索手段による繰り返し計算において最良の評価値を与えた個体の値を、前記評価関数の最適解として出力する出力手段と、を有し、前記探索手段は、前記複数の個体それぞれの値を更新する際に、前記複数の個体のうちの一部の個体については、その個体の現在の値および評価値のいずれとも独立した乱数項を含む更新式を適用することを特徴とする最適解探索装置である。
 本発明によれば、コンピュータによる最適解探索において、局所解への陥りを抑制し、信頼性の高い解を索出することが可能となる。
(a)は従来の最適解探索方法の処理例を模式的に示す図であり、(b)は本発明の最適解探索方法の処理例を模式的に示す図である。 第1実施形態の最適解探索装置の機能構成を模式的に示すブロック図である。 第1実施形態の最適解探索処理のフローチャートである。 (a)は第1実施形態の処理結果を示す図であり、(b)は乱数項の無い比較例の処理結果を示す図である。 第2実施形態の最適解探索処理のフローチャートである。
 本発明は、与えられた評価関数(目的関数とも呼ぶ)に対する最適解をコンピュータによる繰り返し計算により求める最適解探索に関し、より詳しくは、最適解探索における局所解への陥りを抑制する方法に関するものである。本発明は、既存の最適解探索方法の改良(性能向上)を可能にするものであり、例えば、粒子群最適化(PSO)、遺伝的アルゴリズム(GA)をはじめとするあらゆる最適解探索方法に対して適用することができる。なお、本発明が適用される最適解探索方法の応用範囲は多岐にわたり、例えば、学術、研究、産業などの分野において、数値計算、問題解析、予測分析、各種シミュレーションなどに広く利用可能であることは言うまでもない。
 以下では、まず本発明に係る最適解探索の基本概念について説明を行い、その後で、本発明を粒子群最適化(PSO)に適用した例(第1実施形態)と、遺伝的アルゴリズム(GA)に適用した例(第2実施形態)をそれぞれ説明する。
 <最適解探索の基本概念>
 図1を参照して、従来の最適解探索の問題点と、本発明に係る最適解探索の基本概念について説明する。図1は、評価関数f(x)を最小にする解xを求める探索問題の処理例を模式的に示すものであり、(a)は従来の最適解探索方法の例、(b)は本発明に係る最適解探索方法の例をそれぞれ示している。
 ここで、関数f(x)には、極小値をとる位置xが3箇所存在する。このうち左の2つは局所解(近傍領域のみをみたときに関数f(x)を最小化するxの値)であり、一番右のものが大域解(関数f(x)を最小化するxの値)である。すなわち、同図の探索問題では、一番右の大域解の位置を発見することが理想となる。
 (a)の左図に示すように、まず、解の候補である複数の個体が、任意の初期位置に配置される。そして、f(x)の値を評価しながら各個体の位置xを更新するという操作を繰り返すことによって、評価値f(x)をより小さくする位置xを探索する。個体の位置を更新するアルゴリズムには様々なものが存在するが、基本的な考え方は、その時点における最良の解(暫定解)に向かって各個体を移動させていき、探索範囲を絞り込んでいくという方法が一般的である。(a)の中央図では、暫定解である黒丸で示した個体の位置に向かって、それぞれの個体が移動している様子が示されている。しかしながら、このような従来方法の場合、全ての個体の挙動が暫定解に拘束されることとなるため、(a)の右図に示すように、局所解の周辺に個体が集中してしまい、大域解を発見できない(あるいは、大域解に至るまでに膨大な繰り返し計算が必要になる)場合がある。
 このような問題を解決するため、本発明に係る最適解探索では、(b)に示すように、個体の位置を更新する際に、一部の個体に対し乱数によるバラツキを付与することとする。これにより、一部の個体(×印で示した個体)が、暫定解の拘束を離れて、暫定解とは無関係な方向に移動することが可能となる。したがって、暫定解の周辺だけでなく、暫定解の周辺以外の領域も含めた、広範囲な探索が可能となり、従来方法のような局所解への陥りを可及的に回避することができる。
 以下、本発明に係る最適解探索の特徴部分である個体の更新アルゴリズムについて、具体的な実施形態を挙げて詳しく説明する。
 <第1実施形態>
 第1実施形態では、本発明を粒子群最適化(PSO)による最適解探索に適用する例について説明する。
 PSOとは、昆虫や鳥などの大群の挙動を模倣した探索方法であり、一つの個体が良い解を発見すると、それを他の個体に通知し、他の個体がその解の位置に向かって探索を行うというものである。PSOでは、各個体が、位置xと速度vの2つのパラメータをもつ。
 オリジナルのPSOにおける位置xと速度vの更新式は以下のとおりである。すなわち、個体の慣性wv、個体の位置xと個体の最良位置pbestの差分、及び、個体の位置xと群全体の最良位置gbestの差分に基づいて、速度vが更新され、元の位置xに速度vを加算することで位置xが更新される。なお、個体のパラメータが多次元の場合、下記式のx,v,pbest,gbest,R,Rはベクトルとなる。
Figure JPOXMLDOC01-appb-M000005
 本実施形態では、上記の更新式に対し、以下のような改良ないし拡張を施す。すなわち、1~m-1番目の個体については、オリジナルのPSOと同様の更新式(1)を用いて速度vを計算するのに対し、m~n番目の個体については、乱数項Ψを含む更新式(2)を用いて速度vを計算する。なお、位置xの更新式(3)はオリジナルのPSOと同じものを用いる。
Figure JPOXMLDOC01-appb-M000006
 乱数項Ψを含む更新式(2)が適用される個体(特定個体と呼ぶ)の割合(もしくは数)は任意に設定することができる。ただし、特定個体の割合が増えると収束性の低下を招く可能性があるため、評価関数f(x)や個体のパラメータの次元数などに応じて適宜設定するとよい。
 なお、慣性係数wはオリジナルのPSOと同様に定数としてもよいが、本実施形態では下記式のように探索の進行に伴って慣性係数wを徐々に小さくしていく。また、速度vについても、v≦vmaxのように上限を設けるとともに、探索の進行に伴って最大速度vmaxの値を徐々に小さくするとよい。このように慣性係数wと最大速度vmaxの調整を行うことによって、探索初期では個体に多様性を持たせ大域的探索能力を向上することができる一方で、探索が進行するにしたがって集中性を高め局所的探索能力を向上することができるという利点がある。
Figure JPOXMLDOC01-appb-M000007
 (乱数項の設計)
 乱数項Ψとしては、個体の位置x、速度v、評価値f(x)、個体や群全体の最良位置pbest、gbestと独立しており、且つ、ランダムな値をとるものであれば、どのような変数を用いることもできる。ただし、乱数項Ψは更新式(2)の安定性に影響を与え得るため、以下に述べる条件に従って乱数項Ψを設計することが好ましい。
 ここでは、上述した更新式(2)の安定性尺度に基づき、乱数項Ψの設計を行う。一般にPSOの安定性解析には、乱数項cRを一定とみなし、速度vと位置xを一次元としたモデルがよく用いられる。そうすると、更新式(2)のモデルは、下記のようになる。
Figure JPOXMLDOC01-appb-M000008
 一般に、最適化問題が多峰性ならば、その最適解の探索には、多様化と集中化、すなわち大域的探索能力と局所的探索能力の両方を備えた手法が望ましい。ここでは、大域的探索を行う場合には多様性を持ち、局所的探索を行う場合には集中性を持つように、乱数項Ψをシステム(4)の安定性の解析に基づいて設計する。
 まず、リアプノフ第二の方法を用いてシステム(4)の安定性の解析を行う。
 スカラ関数V(z)を下記式のようにおく。
Figure JPOXMLDOC01-appb-M000009
 λ(k),λ(k)は(4)のシステム行列の固有値であり、Tは対角変換行列である。
 この関数はzの全域で存在し、TDTが正定であることから、下記が成り立つ。
Figure JPOXMLDOC01-appb-M000010

 また、V(0)=0である。さらに、下記式が成り立つ。
Figure JPOXMLDOC01-appb-M000011

ここで、z(k)T(k)D(k)T(k)とz(k+1)T(k+1)D(k+1)T(k+1)は正定であることから、ΔV(z)が負定となる条件はD(k+1)D(k+1)-Iが負定となることである。すなわち固有値λ(k),λ(k)の絶対値が1より小さいときにΔV(z)が負定となる。
 以上のことから、固有値λ(k),λ(k)の絶対値が1より小さければ安定である。固有値が1より小さい条件は、以下のとおりである。
Figure JPOXMLDOC01-appb-M000012
 次に、式(2)の安定性尺度に基づき、乱数項の設計を行う。
 前述のように、探索初期では、個体の多様性を高め大域的探索能力を上げることが望まれる。そのため、乱数項Ψを、探索初期で大きい振幅の乱数となるように設計することで、多様性を高めることができる。加えて、慣性係数wの初期値は1以上に設定することで、さらに多様性を高めることができる。
 探索中期においては、慣性係数wが徐々に小さくなり、式(9)を満たすようになることで、システムが安定になる。一般に入力項を0としたときにシステムが安定であるならば、そのシステムの状態は有界な入力に対して有界となることが知られている。そのため、システム(4)のpに関する入力項とΨに関する入力項は有界な値であるとよい。
 探索後期では、k>>1に対してシステム(4)の入力を0とすることで収束させる。
 ところで、システム(4)が収束したとしても、その収束先が大域解ではなく局所解である可能性がある。そのため、群全体が所定の範囲内に収束したときは、乱数項Ψの振幅を増加させることで、特定個体の動きを再び活発にすることが望ましい。
 以上を踏まえ、本実施形態では、乱数項Ψを一様乱数Rと乱数ゲインwとの積で定義し、且つ、乱数ゲインwを下記のように制御する。すなわち、繰り返し計算のたびに乱数ゲインwを徐々に減少させていくが、もし全ての個体の評価値f(x)が暫定解gbestに対する評価値f(gbest)から所定の範囲ε内に収まった場合には、例外的に、乱数ゲインwを一定量Δwだけ増加させるのである。所定の範囲εはどのような値に設定してもよいが、好ましくは、関数f(x)において複数の局所解が存在しないと予想される範囲(値域)をεに設定するとよい。このような範囲εは、例えば、探索初期における群全体の評価値の分布(分散、平均、最大値、最小値など)に基づいて決定することができる。
Figure JPOXMLDOC01-appb-M000013
 (装置構成)
 次に、上述した最適解探索を実現するための装置構成および処理フローの具体例について説明する。
 図2は、本実施形態の最適解探索装置の機能構成を模式的に示すブロック図である。最適解探索装置は、演算部1、入力部2、及び出力部3から構成され、さらに演算部1は、初期条件設定部10、探索処理部11、及び乱数制御部12から構成されている。同装置は、例えば、中央演算処理装置(CPU)、主記憶装置(RAM)、補助記憶装置(HDD、SSDなど)、入力装置(キーボード、マウスなど)、表示装置などのハードウエア資源を備える汎用のコンピュータによって構成することができる。図2に示す各機能は、CPUが補助記憶装置に格納されたプログラムをRAMにロードし、当該プログラムを実行することにより実現されるものである。
 図3のフローチャートに沿って、最適解探索装置の各機能の詳細並びに最適解探索処理の流れを説明する。
 S10では、初期条件設定部10が、表示装置などの出力部3に対し、初期条件設定画面を出力することにより、ユーザーに初期条件の入力を促す。ユーザーがキーボードなどの入力部2を介して初期条件を入力すると、初期条件設定部10がそれらの初期条件を記憶装置に格納する。ここで入力される初期条件としては、評価関数、解の候補である複数の個体それぞれの初期値(初期位置及び初期速度)、終了条件などがある。終了条件としては、繰り返し演算の回数を指定することもできるし、解が収束したことを判定するための収束条件を指定することもできる。収束条件としては、例えば、所定回数の繰り返し計算を実行しても解が更新されないことを条件としたり、目標の評価値に対して許容誤差を指定し、その誤差範囲内に収まる解が発見されることを条件としたりすることができる。また必要に応じて、特定個体の数又は割合、特定個体の選択方法(選択規則)、乱数項Ψの取り得る値の範囲(つまり、乱数ゲインwの初期値、範囲など)、更新式(1)、(2)における各種係数の値、慣性係数や最大速度の調整係数α,β、乱数ゲインの調整係数K,Δwなどを設定することも可能である。このように特定個体の選び方や特定個体に付与する乱数(バラツキ)などの設定値をユーザーが設定できるようにすることで、最適解探索装置の特性(大域的探索能力と局所的探索能力のバランス、収束性、安定性など)を目的や用途に応じてユーザー自身が自由に調整できるようになる。
 初期条件の設定が完了すると、探索処理部11が、終了条件を満足するまでS11~S19の繰り返し計算を実行し、最適解を探索する。S11では、探索処理部11が、各個体の位置xを評価関数f(x)に代入し、各個体の評価値を求める。S12では、探索処理部11は、S11で求めた各個体の評価値を、それまでに得られたf(pbest)、f(gbest)の値と比較し、より良い解が発見された場合にはpbest、gbestを更新する。S13及びS14では、探索処理部11が、式(1)、(2)の速度更新式を用いて、各個体の速度vを計算する。このとき、特定個体の速度に対しては、式(2)の乱数項Ψによりバラツキが付与される。そして、S15において、探索処理部11は、式(3)の位置更新式を用いて、各個体の位置xを計算する。
 その後、S16において、乱数制御部12は、全ての個体の評価値がf(gbest)+εの範囲内に収まっているかどうかを判定し、収まっていなければ、式(11)により乱数ゲインwを減少し(S17)、収まっている場合は、式(12)により乱数ゲインwを増加する(S18)。
 次に、S19において、探索処理部11が、S10で設定された終了条件を満足しているか否かを判断し、終了条件に満たなければS11へ戻り、終了条件を満足していればS20に進む。そしてS20において、探索処理部11は、gbestの値を評価関数f(x)の最適解として出力部3などに出力し、最適解探索処理を終了する。
 (比較実験)
 本発明の効果を検証するため、本発明者は、最適解探索のベンチマークテストによく利用されるGriewank関数を用いて、第1実施形態の最適解探索処理における評価値の推移と、式(2)の乱数項Ψを無くした場合の評価値の推移とを比較した。その結果を、図4に示す。(a)が第1実施形態の処理結果を示し、(b)が乱数項Ψの無い比較例の処理結果を示している。第1実施形態の処理のほうが、少ない繰り返し計算数でより良い解に到達できていることがわかる。
 さらに、本発明者らは、比較例の処理で得られた評価値の平均を第1実施形態の処理で得られた評価値の平均で割った値を「性能改善比」と定義し、3次元の個体を用いた場合と、10次元の個体を用いた場合それぞれの評価を行った。その結果、3次元の個体の場合には性能改善比が約2.0、10次元の個体の場合には性能改善比が約2.4となり、いずれの場合も性能が向上していることが検証できた。
 (本実施形態の利点)
 以上述べた本実施形態の構成によれば、速度の更新式(2)に乱数項Ψを導入したことによって、一部の個体の値に対して適度なバラツキを付与することができる。しかも、乱数項Ψは個体の値x,vや評価値f(x)とは独立した項になっているため、付与されるバラツキの大きさや方向は、各個体の値x,vや暫定解gbest,pbestとは無関係に決まるものとなる。したがって、本実施形態によれば、少なくとも一部の個体が暫定解からの拘束を離れ、暫定解の周辺以外の領域もランダムに探索するような挙動をとるため、局所解への陥りを可及的に回避し、且つ、より良い解をより少ない計算回数で発見できるようになる。
 また、本実施形態では、乱数項Ψを含む更新式(2)が適用される個体を一部の個体に限定したことによって、収束性の低下を抑制することができる。また、乱数項Ψを含む更新式(2)が適用される個体とそれ以外の更新式(1)が適用される個体とを予め固定したことにより、更新式(1)、(2)および乱数項Ψの設計が容易になるとともに、処理(プログラム)が単純化されるという利点がある。
 さらに、本実施形態では、一様乱数Rと乱数ゲインwの積からなる乱数項Ψを用いたので、乱数ゲインwの値を調整するだけで、乱数の振幅の大小を調整でき、個体の多様性や集中性を簡単に制御することができる。また、S17(式(11))に示すように、繰り返し計算のたびに乱数ゲインwを減少させていくので、探索が進むにしたがって特定個体の動きが安定し、集中性を向上させることができる。一方、S18(式(12))に示すように、全ての個体の評価値が所定の範囲に収まってしまった場合は、乱数ゲインwを増加させる。これにより、探索途中で各個体の挙動が鈍くなってしまった場合などに、特定個体の動きを再び活発にすることができるので、局所解への陥りを防ぐことが可能となる。
 <第2実施形態>
 第2実施形態では、本発明を遺伝的アルゴリズム(GA)による最適解探索に適用する例について説明する。
 GAとは、生物の遺伝過程を模倣した探索方法であり、個体の値を遺伝子に見立て、交叉(良い評価値をもつ個体の遺伝子同士を組み合わせて次の世代の個体を生成する操作)、突然変異(個体の遺伝子の一部を変化させる操作)などの操作を繰り返しながら、より良い評価値を与える個体を探索する方法である。本実施形態では、GAによって個体を生成した後、一部の個体に対し乱数によるバラツキを与えることによって、局所解への陥りを抑制している。GA自体の処理は従来公知のものをそのまま利用できるため、ここではGAの詳しい説明は省略し、本実施形態の特徴的な処理部分についてのみ説明を行う。なお、本実施形態の最適解探索処理を実行するための装置構成は、図2で示したものと同じであるため、以下、図2の符号も参照して説明を行うものとする。
 では、図5のフローチャートに沿って、第2実施形態に係る最適解探索処理の流れを説明する。
 S30では、まず初期条件設定部10が、表示装置などの出力部3に対し、初期条件設定画面を出力することにより、ユーザーに初期条件の入力を促す。ユーザーがキーボードなどの入力部2を介して初期条件を入力すると、初期条件設定部10がそれらの初期条件を記憶装置に格納する。ここで入力される初期条件としては、評価関数、解の候補である複数の個体それぞれの初期値、終了条件などがある。終了条件としては、繰り返し演算の回数を指定することもできるし、解が収束したことを判定するための収束条件を指定することもできる。また必要に応じて、特定個体の数又は割合、特定個体の選択方法、乱数項Ψの取り得る値の範囲、乱数ゲインの調整係数K,Δwなどを設定することも可能である。
 初期条件の設定が完了すると、探索処理部11が、終了条件を満足するまでS31~S38の繰り返し計算を実行し、最適解を探索する。S31では、探索処理部11が、各個体の値xを評価関数f(x)に代入し、各個体の評価値を求める。S32では、S31で求めた各個体の評価値に基づいて選択した複数の個体に対し、交叉、突然変異などの操作を行い、次世代の個体を生成する。
 その後、S33において、探索処理部11が、一部の個体の値に対し、乱数によるバラツキを付与する。S33で用いられる更新式は下記のとおりである。すなわち、1~m-1番目の個体については、S32で生成された値x´がそのまま用いられ、m~n番目の個体については、更新式(22)により、値x´に乱数項Ψが加算される。
Figure JPOXMLDOC01-appb-M000014
 ここで、乱数項Ψとしては、第1実施形態の式(10)と同じく、一様乱数Rと乱数ゲインwの積で定義されたものを用いることができる。ただし、第1実施形態の場合と異なり、第2実施形態ではGAのシステムの安定性は担保されているため、乱数ゲインwの値に特に制約はない。
 S34では、探索処理部11は、S31で求めた各個体の評価値を、それまでに得られたf(gbest)の値と比較し、より良い解が発見された場合にはgbestを更新する。
 その後、S35において、乱数制御部12は、全ての個体の評価値がf(gbest)+εの範囲内に収まっているかどうかを判定し、収まっていなければ、式(11)により乱数ゲインwを減少し(S36)、収まっている場合は、式(12)により乱数ゲインwを増加する(S37)。
 次に、S38において、探索処理部11が、S30で設定された終了条件を満足しているか否かを判断し、終了条件に満たなければS31へ戻り、終了条件を満足していればS39に進む。そしてS39において、探索処理部11は、gbestの値を評価関数f(x)の最適解として出力部3などに出力し、最適解探索処理を終了する。
 (比較実験)
 本発明の効果を検証するため、Griewank関数を用いて、第2実施形態の最適解探索処理の結果と、比較例として式(22)の乱数項Ψを無くした場合の処理結果とを比較した。3次元の個体を用いた場合と、10次元の個体を用いた場合それぞれの評価を行ったところ、3次元の個体の場合も10次元の個体の場合も性能改善比が約2.0となり、いずれの場合も性能が向上していることが検証できた。
 以上述べたように、本実施形態の構成によっても、第1実施形態と同様の作用効果が得られ、局所解への陥りを可及的に回避し、且つ、より良い解をより少ない計算回数で発見できるようになる。
1 演算部
2 入力部
3 出力部
10 初期条件設定部
11 探索処理部
12 乱数制御部

Claims (14)

  1.  与えられた評価関数に対する最適解をコンピュータによる繰り返し計算により求める最適解探索方法であって、
     コンピュータが、解の候補である複数の個体それぞれの初期値と、繰り返し計算の終了条件と、を少なくとも設定する初期設定ステップと、
     コンピュータが、各個体の値を評価関数に代入し各個体の評価値を計算する処理を、前記終了条件が満たされるまで、各個体の値を更新しながら、繰り返す探索ステップと、
     コンピュータが、前記探索ステップにおいて最良の評価値を与えた個体の値を、前記評価関数の最適解として出力する出力ステップと、を含み、
     前記探索ステップでは、
     前記複数の個体それぞれの値を更新する際に、前記複数の個体のうちの一部の個体については、その個体の現在の値および評価値のいずれとも独立した乱数項を含む更新式が適用される
    ことを特徴とする最適解探索方法。
  2.  前記乱数項は、一様乱数とゲインとの積を含んでいる
    ことを特徴とする請求項1に記載の最適解探索方法。
  3.  前記探索ステップは、繰り返し計算のたびに前記ゲインを減少させるステップを含む
    ことを特徴とする請求項2に記載の最適解探索方法。
  4.  前記探索ステップは、前記複数の個体すべての評価値が所定の範囲に収まった場合に、前記ゲインを増加させるステップを含む
    ことを特徴とする請求項3に記載の最適解探索方法。
  5.  前記所定の範囲は、その時点での最良の評価値から所定の範囲である
    ことを特徴とする請求項4に記載の最適解探索方法。
  6.  前記探索ステップにおいて前記乱数項を含む更新式が適用される個体は、常に同じ個体である
    ことを特徴とする請求項1~5のいずれかに記載の最適解探索方法。
  7.  前記探索ステップでは、粒子群最適化方法によって最適解の探索が行われ、
     前記更新式は、個体の速度を更新するための更新式である
    ことを特徴とする請求項1~6のいずれかに記載の最適解探索方法。
  8.  前記一部の個体以外の個体の速度を更新するための更新式が、下記式(1)、
     前記一部の個体の速度を更新するための更新式が、下記式(2)、
     下記式(1)又は(2)によって更新された速度を用いて、個体の位置を更新するための更新式が、下記式(3)、
    で表されることを特徴とする請求項7に記載の最適解探索方法。
    Figure JPOXMLDOC01-appb-M000001
  9.  前記探索ステップでは、遺伝的アルゴリズムによって最適解の探索が行われ、
     前記更新式は、個体の値を更新するための更新式である
    ことを特徴とする請求項1~6のいずれかに記載の最適解探索方法。
  10.  前記一部の個体以外の個体の値を更新するための更新式が、下記式(21)、
     前記一部の個体の値を更新するための更新式が、下記式(22)、
    で表されることを特徴とする請求項9に記載の最適解探索方法。
    Figure JPOXMLDOC01-appb-M000002
  11.  前記乱数項の取り得る値の範囲を指定可能である
    ことを特徴とする請求項1~10のいずれかに記載の最適解探索方法。
  12.  請求項1~11のいずれかに記載の最適解探索方法の各ステップをコンピュータに実行させることを特徴とするプログラム。
  13.  請求項12に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
  14.  与えられた評価関数に対する最適解をコンピュータによる繰り返し計算により求める最適解探索装置であって、
     解の候補である複数の個体それぞれの初期値と、繰り返し計算の終了条件と、を少なくとも設定する初期設定手段と、
     各個体の値を評価関数に代入し各個体の評価値を計算する処理を、前記終了条件が満たされるまで、各個体の値を更新しながら、繰り返し実行する探索手段と、
     前記探索手段による繰り返し計算において最良の評価値を与えた個体の値を、前記評価関数の最適解として出力する出力手段と、を有し、
     前記探索手段は、
     前記複数の個体それぞれの値を更新する際に、前記複数の個体のうちの一部の個体については、その個体の現在の値および評価値のいずれとも独立した乱数項を含む更新式を適用する
    ことを特徴とする最適解探索装置。
PCT/JP2011/075261 2011-07-14 2011-11-02 最適解探索方法および最適解探索装置 WO2013008345A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-155789 2011-07-14
JP2011155789A JP2014178717A (ja) 2011-07-14 2011-07-14 最適解探索方法および最適解探索装置

Publications (1)

Publication Number Publication Date
WO2013008345A1 true WO2013008345A1 (ja) 2013-01-17

Family

ID=47505663

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/075261 WO2013008345A1 (ja) 2011-07-14 2011-11-02 最適解探索方法および最適解探索装置

Country Status (2)

Country Link
JP (1) JP2014178717A (ja)
WO (1) WO2013008345A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117689292A (zh) * 2023-12-15 2024-03-12 国网湖北省电力有限公司物资公司 应用于联合补货与配送的优化方法和系统
CN117807818A (zh) * 2024-03-01 2024-04-02 西安慧金科技有限公司 一种结合动态篮环优化算法的工业炉寿命预测方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6358618B2 (ja) * 2014-10-21 2018-07-18 マツダ株式会社 エンジンの燃焼シミュレーションに使用する化学反応速度定数の決定方法及びエンジンの燃焼シミュレーション方法
CN106203614B (zh) * 2016-07-22 2018-07-03 吉林大学 基于自适应蝙蝠搜索算法的kp模型密度函数辨识方法
US20220091318A1 (en) * 2019-01-31 2022-03-24 King Abdullah University Of Science And Technology Light processing device based on multilayer nano-elements
JP7283318B2 (ja) 2019-09-12 2023-05-30 富士通株式会社 最適化装置、最適化プログラム、及び最適化方法
JP7370924B2 (ja) 2020-04-21 2023-10-30 株式会社日立製作所 最適化装置および最適化方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010257067A (ja) * 2009-04-22 2010-11-11 Nikon Corp 遺伝的処理装置、遺伝的処理方法およびプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010257067A (ja) * 2009-04-22 2010-11-11 Nikon Corp 遺伝的処理装置、遺伝的処理方法およびプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KEITARO SATO ET AL.: "Design of support system for jazz phrase composition based on PSO", DAI 77 KAI SPECIAL INTERNET GROUP ON KNOWLEDGE- BASED SOFTWARE SHIRYO, 29 March 2007 (2007-03-29), pages 35 - 40 *
NAOYA NAKAGAWA ET AL.: "Particle Swarm Optimization Using Velocity Control", THE TRANSACTIONS OF THE INSTITUTE OF ELECTRICAL ENGINEERS OF JAPAN C, vol. 129, no. 7, 1 July 2009 (2009-07-01), pages 1331 - 1338 *
SHIN'ICHIRO OMACHI ET AL.: "Subject Arrangement in the Euclidean Space Using Genetic Algorithm", THE TRANSACTIONS OF THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS, vol. J82-D-II, no. 12, 25 December 1999 (1999-12-25), pages 2195 - 2202 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117689292A (zh) * 2023-12-15 2024-03-12 国网湖北省电力有限公司物资公司 应用于联合补货与配送的优化方法和系统
CN117807818A (zh) * 2024-03-01 2024-04-02 西安慧金科技有限公司 一种结合动态篮环优化算法的工业炉寿命预测方法
CN117807818B (zh) * 2024-03-01 2024-05-10 西安慧金科技有限公司 一种结合动态篮环优化算法的工业炉寿命预测方法

Also Published As

Publication number Publication date
JP2014178717A (ja) 2014-09-25

Similar Documents

Publication Publication Date Title
WO2013008345A1 (ja) 最適解探索方法および最適解探索装置
Mohamed et al. Novel mutation strategy for enhancing SHADE and LSHADE algorithms for global numerical optimization
Zhang et al. A parameter selection strategy for particle swarm optimization based on particle positions
Rostami et al. Progressive preference articulation for decision making in multi-objective optimisation problems
CN112101530B (zh) 神经网络训练方法、装置、设备及存储介质
CN107272403A (zh) 一种基于改进粒子群算法的pid控制器参数整定算法
Wan et al. An improved hybrid genetic algorithm with a new local search procedure
Luo et al. Multi-step heuristic dynamic programming for optimal control of nonlinear discrete-time systems
Chen Two-layer particle swarm optimization for unconstrained optimization problems
CN110675912B (zh) 一种基于结构预测的基因调控网络构建方法
Oldewage et al. The merits of velocity clamping particle swarm optimisation in high dimensional spaces
CN112817312B (zh) 一种基于双重搜索优化算法的路径规划方法
Peng et al. A hierarchical particle swarm optimizer with latin sampling based memetic algorithm for numerical optimization
Wang et al. Robust airfoil optimization based on improved particle swarm optimization method
CN111709511A (zh) 一种基于随机无迹Sigma点变异的哈里斯鹰优化算法
Ruan et al. A new multi-function global particle swarm optimization
Sarafian et al. Explicit Gradient Learning for Black-Box Optimization.
CN110569959A (zh) 基于协同变异方法的多目标粒子群优化算法
Panda et al. Reduction of linear time-invariant systems using Routh-approximation and PSO
Tenne et al. A versatile surrogate-assisted memetic algorithm for optimization of computationally expensive functions and its engineering applications
CN113341696A (zh) 一种运载火箭姿态控制参数智能整定方法
CN109074348A (zh) 用于对输入数据集进行迭代聚类的设备和迭代方法
CN110210072B (zh) 基于近似模型及差分进化算法求解高维优化问题的方法
Yang et al. A master-slave particle swarm optimization algorithm for solving constrained optimization problems
CN117059169A (zh) 基于参数自适应成长优化器的生物多序列比对方法及系统

Legal Events

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

Ref document number: 11869194

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11869194

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP