JP2014178717A - Optimum solution search method and optimum solution search device - Google Patents

Optimum solution search method and optimum solution search device Download PDF

Info

Publication number
JP2014178717A
JP2014178717A JP2011155789A JP2011155789A JP2014178717A JP 2014178717 A JP2014178717 A JP 2014178717A JP 2011155789 A JP2011155789 A JP 2011155789A JP 2011155789 A JP2011155789 A JP 2011155789A JP 2014178717 A JP2014178717 A JP 2014178717A
Authority
JP
Japan
Prior art keywords
individuals
search
value
individual
optimal solution
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
JP2011155789A
Other languages
Japanese (ja)
Inventor
Shota Miyaguchi
尚太 宮口
Hiroshi Nakajima
宏 中嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2011155789A priority Critical patent/JP2014178717A/en
Priority to PCT/JP2011/075261 priority patent/WO2013008345A1/en
Publication of JP2014178717A publication Critical patent/JP2014178717A/en
Withdrawn legal-status Critical Current

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

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

PROBLEM TO BE SOLVED: To provide a technique capable of searching a reliable solution by preventing the same from falling into a local solution in conducting a computerized optimum solution search.SOLUTION: An optimum solution search method which obtains an optimum solution for a given evaluation function through a computerized iterative calculation includes: a default setting step to set at least a default value of each of a plurality of substances which are candidates for a solution and a termination condition of the iterative calculation; a search step to repeat a process to calculate an evaluation value of each substance by substituting a value thereof into the evaluation function and updating the value of each substance until the termination condition is satisfied; and an output step to output the value of the substance to which an ultimate level of evaluation value is given in the search step as the optimum solution of the evaluation function. When updating respective values of the plurality of substances in the search step, an updating formula including a random number term independent from both a current value and the evaluation value of the substance is applied to a portion of the substances among the plurality of substances.

Description

本発明は、コンピュータによる最適解探索において、局所解に陥る欠点を改善するための技術に関する。   The present invention relates to a technique for improving a defect that falls into a local solution in searching for an optimal solution by a computer.

複雑な関数を最小化あるいは最大化するパラメータ(最適解)を、コンピュータによる繰り返し計算によって求める方法は「最適解探索」と呼ばれる。コンピュータによる最適解探索のアルゴリズムとしては、粒子群最適化(Particle Swarm Optimization:PSO)、遺伝的アルゴリズム(Genetic Algorithm:GA)などが知られている(非特許文献1
、非特許文献2参照)。
A method of obtaining a parameter (optimal solution) that minimizes or maximizes a complex function by iterative calculation by a computer is called “optimum solution search”. As algorithms for searching for an optimal solution by a computer, particle swarm optimization (PSO), genetic algorithm (GA), and the like are known (Non-patent Document 1).
Non-Patent Document 2).

PSOとは、昆虫や鳥などの大群の挙動を模倣した探索方法であり、群れ全体で発見した解と個体それぞれが発見した解に基づき探索を行うというものである。一方、GAとは、生物の遺伝過程を模倣した探索方法であり、解の候補と評価値をもつ個体を複数用意し、交叉(良い評価値をもつ個体同士を組み合わせて新たな個体を生成する操作)、突然変異(個体がもつ変数の一部を変化させる操作)などの操作を繰り返すことで最適解を探索するという方法である。   PSO is a search method that imitates the behavior of large groups such as insects and birds, and performs a search based on a solution found in the entire flock and a solution found by each individual. GA, on the other hand, 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).

この種の最適解探索においては、局所解への陥りを回避することが共通の技術課題となる。例えば非特許文献1では、PSOの改良型として、個体の速度更新式の慣性項を動的に変化させる方法が提案されている。具体的には、計算初期では慣性項の係数を大きくし個体の挙動にバラツキを持たせることで、局所解への陥りを抑制する一方で、計算後期では慣性項の係数を小さくしていくことで収束性を向上させ、暫定解の周辺を集中的に探索するという方法である。しかしながら、この方法では、計算後期において暫定解の周辺に全ての個体が集中してしまうため、大域解(真の最適解)の探索ができなくなるおそれがある。   In this type of optimal solution search, a common technical problem is to avoid falling into a local solution. For example, 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, there is a possibility that the global solution (true optimal solution) cannot be searched.

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.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.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.

本発明は上記実情に鑑みてなされたものであって、その目的とするところは、コンピュータによる最適解探索において、局所解への陥りを抑制し、信頼性の高い解を索出することが可能な技術を提供することにある。   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.

上記目的を達成するために本発明は、以下の構成を採用する。すなわち、本発明の一態様に係る最適解探索方法は、与えられた評価関数に対する最適解をコンピュータによる繰り返し計算により求める最適解探索方法であって、コンピュータが、解の候補である複数の個体それぞれの初期値と、繰り返し計算の終了条件と、を少なくとも設定する初期設定
ステップと、コンピュータが、各個体の値を評価関数に代入し各個体の評価値を計算する処理を、前記終了条件が満たされるまで、各個体の値を更新しながら、繰り返す探索ステップと、コンピュータが、前記探索ステップにおいて最良の評価値を与えた個体の値を、前記評価関数の最適解として出力する出力ステップと、を含み、前記探索ステップでは、前記複数の個体それぞれの値を更新する際に、前記複数の個体のうちの一部の個体については、その個体の現在の値および評価値のいずれとも独立した乱数項を含む更新式が適用されることを特徴とする最適解探索方法である。
In order to achieve the above object, the present invention adopts the following configuration. That is, an optimal solution search method according to an aspect of the present invention 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, In 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.

最適解探索においては、各個体の値や評価値、その時点における最良の解(暫定解と呼ぶ)などに基づいて各個体の値を更新する操作を繰り返し行い、より良い評価値を与える解を探索することが基本となる。しかし従来の方法では、全ての個体の挙動が暫定解に拘束される結果、その周辺領域しか探索されず、局所解に陥る場合がある。   In the optimal solution search, 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.

これに対し、本発明では、更新式に乱数項を導入したことによって、一部の個体の値に対して適度なバラツキを付与することができる。しかも、乱数項は個体の値や評価値とは独立した項になっているため、付与されるバラツキの大きさや方向は、各個体の値や暫定解とは無関係に決まるものとなる。したがって、本発明によれば、少なくとも一部の個体が暫定解からの拘束を離れ、暫定解の周辺以外の領域もランダムに探索するような挙動をとるため、局所解への陥りを可及的に回避し、且つ、より良い解をより少ない計算回数で発見できるようになるものと期待できる。   On the other hand, in 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. In addition, since 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.

また、本発明では、乱数項を含む更新式が適用される個体(特定個体と呼ぶ)を「一部の個体」に限定したことによって、収束性の低下を抑制することができる。特定個体の割合(もしくは数)については、評価関数や個体の次元数などに応じて適宜決定すればよい。ところで、特定個体は更新の都度任意に選んでもよいが、好ましくは、常に同じ個体であるとよい。乱数項を含む更新式が適用される個体とそれ以外の更新式が適用される個体とを予め固定しておくことにより、更新式および乱数項の設計が容易になるとともに、処理(プログラム)が単純化されるという利点があるからである。特定個体の選択方法(選択規則)としては、どのようなものを用いてもよい。例えば、全ての個体の中からランダムに特定個体を選ぶ方法、個体の位置に基づいて選ぶ方法、個体の評価値に基づいて選ぶ方法などがある。個体の位置に基づいて選ぶ方法としては、例えば、暫定解からの距離が遠い個体を優先的に特定個体としてもよいし、暫定解から所定の距離範囲にある個体を優先的に特定個体としてもよいし、暫定解からの距離が偏らないように群全体の位置分布に基づき様々な位置から特定個体を選び出してもよい。また、評価値に基づいて選ぶ方法としては、例えば、評価値の悪い個体を優先的に特定個体としてもよいし、逆に評価値の良い個体の中から特定個体を選んでもよいし、特定個体の評価値が偏らないように群全体の評価値分布に基づき様々な評価値の個体を特定個体として選んでもよい。   Further, in 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. By the way, the specific individual may be arbitrarily selected every time it is updated, but preferably it is always the same individual. By fixing the individual to which the update formula including the random number term is applied and the individual to which the other update formula is applied in advance, the design of the update formula and the random term is facilitated, and the processing (program) This is because it has the advantage of being simplified. Any method for selecting a specific individual (selection rule) 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. In addition, as a method of selecting based on the evaluation value, for example, 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.

ここで、前記乱数項は、一様乱数とゲインとの積を含んでいることが好ましい。ゲインの値を調整するだけで、個体の多様性や集中性を簡単に制御できるようになるからである。   Here, it is preferable that 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.

例えば、前記探索ステップにおいて、繰り返し計算のたびにゲインを減少させていけば、探索が進むにしたがって特定個体の動きが安定するため、集中性を向上させることができる。さらに、前記探索ステップにおいて、前記複数の個体すべての評価値が所定の範囲に収まった場合に、前記ゲインを増加させるようにしてもよい。これにより、探索途中で各個体の挙動が鈍くなってしまった場合などに、特定個体の動きを再び活発にすることができるので、局所解への陥りを防ぐことが可能となる。例えば、その時点での最良の評価値(暫定解に対する評価値)から所定の範囲にすべての個体の評価値が収まった場合などに、ゲインの増加(特定個体の活発化)を行うとよい。   For example, in the search step, if the gain is decreased for each repetitive calculation, the movement of the specific individual is stabilized as the search proceeds, so that the concentration can be improved. Furthermore, in the searching step, the gain may be increased when the evaluation values of all the plurality of individuals fall within a predetermined range. As a result, when 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. For example, when the evaluation values of all individuals fall within a predetermined range from the best evaluation value at that time (evaluation value for the provisional solution), the gain may be increased (activation of the specific individual).

前記探索ステップでは、粒子群最適化(PSO)、遺伝的アルゴリズム(GA)など、任意の最適解探索方法を用いることができる。   In the search step, any optimal solution search method such as particle swarm optimization (PSO) or genetic algorithm (GA) can be used.

例えば、PSOによって最適解の探索が行われる場合には、前記更新式は、個体の速度を更新するための更新式であるとよい。より詳しくは、前記一部の個体以外の個体の速度を更新するための更新式を下記式(1)、前記一部の個体の速度を更新するための更新式を下記式(2)とすることが好ましい。個体の値(位置)を更新するための更新式は、下記式(1)又は(2)によって更新された速度を用いて、下記式(3)のように設計する。

Figure 2014178717
For example, when searching for an optimal solution by PSO, 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).
Figure 2014178717

また、GAによって最適解の探索が行われる場合には、前記更新式は、個体の値を更新するための更新式であるとよい。より詳しくは、前記一部の個体以外の個体の値を更新するための更新式を下記式(21)、前記一部の個体の値を更新するための更新式を下記式(22)のように設計することが好ましい。

Figure 2014178717
Further, when the optimum solution is searched for by GA, 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.
Figure 2014178717

本発明は、上記ステップの少なくとも一部を含む最適解探索方法として捉えてもよいし、かかる方法の各ステップをコンピュータに実行させるためのプログラムやそのプログラムを記憶したコンピュータ読み取り可能な記憶媒体として捉えることもできる。また、本発明は、上記の機能手段の少なくとも一部を有する最適解探索装置やシステムとして捉えることもできる。なお、上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。   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.

例えば、本発明の一態様に係る最適解探索装置は、与えられた評価関数に対する最適解をコンピュータによる繰り返し計算により求める最適解探索装置であって、解の候補である複数の個体それぞれの初期値と、繰り返し計算の終了条件と、を少なくとも設定する初期設定手段と、各個体の値を評価関数に代入し各個体の評価値を計算する処理を、前記終了条件が満たされるまで、各個体の値を更新しながら、繰り返し実行する探索手段と、前記探索手段による繰り返し計算において最良の評価値を与えた個体の値を、前記評価関数の最適解として出力する出力手段と、を有し、前記探索手段は、前記複数の個体それぞれの値を更新する際に、前記複数の個体のうちの一部の個体については、その個体の現在の値および評価値のいずれとも独立した乱数項を含む更新式を適用することを特徴とする最適解探索装置である。   For example, the optimal solution search device according to one aspect of the present invention 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, When the 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 are independent. The optimal solution search apparatus characterized by applying the update equation containing the random number term.

本発明によれば、コンピュータによる最適解探索において、局所解への陥りを抑制し、信頼性の高い解を索出することが可能となる。   According to the present invention, in searching for an optimal solution by a computer, it is possible to suppress a fall into a local solution and search for a highly reliable solution.

(a)は従来の最適解探索方法の処理例を模式的に示す図であり、(b)は本発明の最適解探索方法の処理例を模式的に示す図である。(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. 第1実施形態の最適解探索装置の機能構成を模式的に示すブロック図である。It is a block diagram which shows typically the function structure of the optimal solution search apparatus of 1st Embodiment. 第1実施形態の最適解探索処理のフローチャートである。It is a flowchart of the optimal solution search process of 1st Embodiment. (a)は第1実施形態の処理結果を示す図であり、(b)は乱数項の無い比較例の処理結果を示す図である。(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. 第2実施形態の最適解探索処理のフローチャートである。It is a flowchart of the optimal solution search process of 2nd Embodiment.

本発明は、与えられた評価関数(目的関数とも呼ぶ)に対する最適解をコンピュータによる繰り返し計算により求める最適解探索に関し、より詳しくは、最適解探索における局所解への陥りを抑制する方法に関するものである。本発明は、既存の最適解探索方法の改良(性能向上)を可能にするものであり、例えば、粒子群最適化(PSO)、遺伝的アルゴリズム(GA)をはじめとするあらゆる最適解探索方法に対して適用することができる。なお、本発明が適用される最適解探索方法の応用範囲は多岐にわたり、例えば、学術、研究、産業などの分野において、数値計算、問題解析、予測分析、各種シミュレーションなどに広く利用可能であることは言うまでもない。   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. 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.

以下では、まず本発明に係る最適解探索の基本概念について説明を行い、その後で、本発明を粒子群最適化(PSO)に適用した例(第1実施形態)と、遺伝的アルゴリズム(GA)に適用した例(第2実施形態)をそれぞれ説明する。   In the following, the basic concept of the optimum solution search according to the present invention will be described first, and then an example (first embodiment) in which the present invention is applied to particle swarm optimization (PSO) and a genetic algorithm (GA). Examples applied to the second embodiment (second embodiment) will be described.

<最適解探索の基本概念>
図1を参照して、従来の最適解探索の問題点と、本発明に係る最適解探索の基本概念について説明する。図1は、評価関数f(x)を最小にする解xを求める探索問題の処理例
を模式的に示すものであり、(a)は従来の最適解探索方法の例、(b)は本発明に係る最適解探索方法の例をそれぞれ示している。
<Basic concept of optimal solution search>
With reference to FIG. 1, a problem of conventional optimum solution search and a basic concept of optimum solution search according to the present invention will be described. 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.

ここで、関数f(x)には、極小値をとる位置xが3箇所存在する。このうち左の2つは局所解(近傍領域のみをみたときに関数f(x)を最小化するxの値)であり、一番右のものが大域解(関数f(x)を最小化するxの値)である。すなわち、同図の探索問題では、一番右の大域解の位置を発見することが理想となる。   Here, in the function f (x), there are three positions x at which the minimum value is obtained. Of these, 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.

(a)の左図に示すように、まず、解の候補である複数の個体が、任意の初期位置に配置される。そして、f(x)の値を評価しながら各個体の位置xを更新するという操作を繰り返すことによって、評価値f(x)をより小さくする位置xを探索する。個体の位置を更新するアルゴリズムには様々なものが存在するが、基本的な考え方は、その時点における最良の解(暫定解)に向かって各個体を移動させていき、探索範囲を絞り込んでいくという方法が一般的である。(a)の中央図では、暫定解である黒丸で示した個体の位置に向かって、それぞれの個体が移動している様子が示されている。しかしながら、このような従来方法の場合、全ての個体の挙動が暫定解に拘束されることとなるため、(a)の右図に示すように、局所解の周辺に個体が集中してしまい、大域解を発見できない(あるいは、大域解に至るまでに膨大な繰り返し計算が必要になる)場合がある。   As shown in the left figure of (a), first, a plurality of individuals that are solution candidates are arranged at arbitrary initial positions. Then, by repeating the operation of updating the position x of each individual while evaluating the value of f (x), a position x that makes the evaluation value f (x) smaller is searched. There are various algorithms for updating the position of an individual, but the basic idea is to move each individual toward the best solution (provisional solution) at that time and narrow down the search range. This method is common. In the center diagram of (a), a state is shown in which each individual is moving toward the position of the individual indicated by a black circle which is a provisional solution. However, in the case of such a conventional method, since the behavior of all individuals is constrained by the provisional solution, as shown in the right figure of (a), the individuals are concentrated around the local solution, There are cases where a global solution cannot be found (or a huge amount of iterative calculation is required to reach a global solution).

このような問題を解決するため、本発明に係る最適解探索では、(b)に示すように、個体の位置を更新する際に、一部の個体に対し乱数によるバラツキを付与することとする。これにより、一部の個体(×印で示した個体)が、暫定解の拘束を離れて、暫定解とは無関係な方向に移動することが可能となる。したがって、暫定解の周辺だけでなく、暫定解の周辺以外の領域も含めた、広範囲な探索が可能となり、従来方法のような局所解への陥りを可及的に回避することができる。   In order to solve such a problem, in the optimum solution search according to the present invention, as shown in (b), when the positions of individuals are updated, a variation due to random numbers is given to some individuals. . Thereby, a part of individuals (individuals indicated by crosses) can move away from the provisional solution and move in a direction unrelated to the provisional solution. Therefore, a wide range of searches including not only the vicinity of the provisional solution but also the region other than the periphery of the provisional solution is possible, and the fall into the local solution as in the conventional method can be avoided as much as possible.

以下、本発明に係る最適解探索の特徴部分である個体の更新アルゴリズムについて、具体的な実施形態を挙げて詳しく説明する。   Hereinafter, an individual update algorithm, which is a characteristic part of the optimum solution search according to the present invention, will be described in detail with specific embodiments.

<第1実施形態>
第1実施形態では、本発明を粒子群最適化(PSO)による最適解探索に適用する例について説明する。
<First Embodiment>
In the first embodiment, an example in which the present invention is applied to an optimal solution search by particle swarm optimization (PSO) will be described.

PSOとは、昆虫や鳥などの大群の挙動を模倣した探索方法であり、一つの個体が良い解を発見すると、それを他の個体に通知し、他の個体がその解の位置に向かって探索を行うというものである。PSOでは、各個体が、位置xと速度vの2つのパラメータをもつ。   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.

オリジナルのPSOにおける位置xと速度vの更新式は以下のとおりである。すなわち、個体の慣性wv、個体の位置xと個体の最良位置pbestの差分、及び、個体の位置xと群全体の最良位置gbestの差分に基づいて、速度vが更新され、元の位置xに速度vを加算することで位置xが更新される。なお、個体のパラメータが多次元の場合、下記式のx,v,pbest,gbest,R,Rはベクトルとなる。

Figure 2014178717
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. When the individual parameters are multidimensional, x, v, p best , g best , R 1 , and R 2 in the following formulas are vectors.
Figure 2014178717

本実施形態では、上記の更新式に対し、以下のような改良ないし拡張を施す。すなわち、1〜m−1番目の個体については、オリジナルのPSOと同様の更新式(1)を用いて速度vを計算するのに対し、m〜n番目の個体については、乱数項Ψを含む更新式(2)を用いて速度vを計算する。なお、位置xの更新式(3)はオリジナルのPSOと同じものを用いる。

Figure 2014178717
In the present embodiment, the following improvements or extensions are applied to the above update formula. That is, for the 1st to 1m-1 individuals, 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.
Figure 2014178717

乱数項Ψを含む更新式(2)が適用される個体(特定個体と呼ぶ)の割合(もしくは数)は任意に設定することができる。ただし、特定個体の割合が増えると収束性の低下を招
く可能性があるため、評価関数f(x)や個体のパラメータの次元数などに応じて適宜設定するとよい。
The ratio (or number) of individuals (referred to as 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.

なお、慣性係数wはオリジナルのPSOと同様に定数としてもよいが、本実施形態では下記式のように探索の進行に伴って慣性係数wを徐々に小さくしていく。また、速度vについても、v≦vmaxのように上限を設けるとともに、探索の進行に伴って最大速度vmaxの値を徐々に小さくするとよい。このように慣性係数wと最大速度vmaxの調整を行うことによって、探索初期では個体に多様性を持たせ大域的探索能力を向上することができる一方で、探索が進行するにしたがって集中性を高め局所的探索能力を向上することができるという利点がある。

Figure 2014178717
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.
Figure 2014178717

(乱数項の設計)
乱数項Ψとしては、個体の位置x、速度v、評価値f(x)、個体や群全体の最良位置pbest、gbestと独立しており、且つ、ランダムな値をとるものであれば、どのような変数を用いることもできる。ただし、乱数項Ψは更新式(2)の安定性に影響を与え得るため、以下に述べる条件に従って乱数項Ψを設計することが好ましい。
(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.

ここでは、上述した更新式(2)の安定性尺度に基づき、乱数項Ψの設計を行う。一般にPSOの安定性解析には、乱数項cRを一定とみなし、速度vと位置xを一次元としたモデルがよく用いられる。そうすると、更新式(2)のモデルは、下記のようになる。

Figure 2014178717
Here, the random term Ψ is designed based on the stability measure of the update formula (2) described above. In general, in the PSO stability analysis, 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. Then, the model of the update formula (2) is as follows.
Figure 2014178717

一般に、最適化問題が多峰性ならば、その最適解の探索には、多様化と集中化、すなわち大域的探索能力と局所的探索能力の両方を備えた手法が望ましい。ここでは、大域的探索を行う場合には多様性を持ち、局所的探索を行う場合には集中性を持つように、乱数項Ψをシステム(4)の安定性の解析に基づいて設計する。   In general, if the optimization problem is multimodal, it is desirable to search for the optimal solution by using a technique that has both diversification and concentration, that is, both global search capability and local search capability. Here, 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.

まず、リアプノフ第二の方法を用いてシステム(4)の安定性の解析を行う。
スカラ関数V(z)を下記式のようにおく。

Figure 2014178717
First, the stability of the system (4) is analyzed using the Lyapunov second method.
The scalar function V (z) is set as the following formula.
Figure 2014178717

λ(k),λ(k)は(4)のシステム行列の固有値であり、Tは対角変換行列である。 λ 1 (k) and λ 2 (k) are eigenvalues of the system matrix of (4), and T is a diagonal transformation matrix.

この関数はzの全域で存在し、TDTが正定であることから、下記が成り立つ。

Figure 2014178717

また、V(0)=0である。さらに、下記式が成り立つ。
Figure 2014178717
ここで、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)
(k+1)−Iが負定となることである。すなわち固有値λ(k),λ(k)の絶対値が1より小さいときにΔV(z)が負定となる。 Since this function exists in the entire z range and T T D T DT is positive definite, the following holds.
Figure 2014178717

Further, V (0) = 0. Furthermore, the following equation holds.
Figure 2014178717
Here, z (k) T T ( k) T D (k) T T (k) and z (k + 1) T T (k + 1) T D (k +
1) Since T T (k + 1) is positive definite, the condition that ΔV (z) becomes negative definite is D (k + 1) T D
(K + 1) -I is negatively definite. That is, ΔV (z) becomes negative when the absolute values of the eigenvalues λ 1 (k) and λ 2 (k) are smaller than 1.

以上のことから、固有値λ(k),λ(k)の絶対値が1より小さければ安定である。固有値が1より小さい条件は、以下のとおりである。

Figure 2014178717
From the above, it is stable if the absolute values of the eigenvalues λ 1 (k) and λ 2 (k) are smaller than 1. The conditions for which the eigenvalue is smaller than 1 are as follows.
Figure 2014178717

次に、式(2)の安定性尺度に基づき、乱数項の設計を行う。
前述のように、探索初期では、個体の多様性を高め大域的探索能力を上げることが望まれる。そのため、乱数項Ψを、探索初期で大きい振幅の乱数となるように設計することで、多様性を高めることができる。加えて、慣性係数wの初期値は1以上に設定することで、さらに多様性を高めることができる。
Next, a random term is designed based on the stability measure of Equation (2).
As described above, at the initial stage of search, it is desired to increase the diversity of individuals and improve the global search capability. Therefore, 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. In addition, diversity can be further enhanced by setting the initial value of the inertia coefficient w k to 1 or more.

探索中期においては、慣性係数wが徐々に小さくなり、式(9)を満たすようになることで、システムが安定になる。一般に入力項を0としたときにシステムが安定であるならば、そのシステムの状態は有界な入力に対して有界となることが知られている。そのため、システム(4)のpに関する入力項とΨに関する入力項は有界な値であるとよい。 In the middle of the search, the inertia coefficient w k gradually decreases and satisfies the formula (9), thereby stabilizing the system. In general, it is known that if the system is stable when the input term is 0, the state of the system is bounded with respect to the bounded input. Therefore, the input section on p k and to a input term Ψ system (4) may If it is bounded values.

探索後期では、k>>1に対してシステム(4)の入力を0とすることで収束させる。   In the latter half of the search, the system (4) is converged by setting the input of the system (4) to 0 for k >> 1.

ところで、システム(4)が収束したとしても、その収束先が大域解ではなく局所解である可能性がある。そのため、群全体が所定の範囲内に収束したときは、乱数項Ψの振幅を増加させることで、特定個体の動きを再び活発にすることが望ましい。   By the way, even if the system (4) converges, there is a possibility that the convergence destination is not a global solution but a local 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 Ψ.

以上を踏まえ、本実施形態では、乱数項Ψを一様乱数Rと乱数ゲインwとの積で定義し、且つ、乱数ゲインwを下記のように制御する。すなわち、繰り返し計算のたびに乱数ゲインwを徐々に減少させていくが、もし全ての個体の評価値f(x)が暫定解gbestに対する評価値f(gbest)から所定の範囲ε内に収まった場合には、例外的に、乱数ゲインwを一定量Δwだけ増加させるのである。所定の範囲εはどのような値に設定してもよいが、好ましくは、関数f(x)において複数の局所解が存在しないと予想される範囲(値域)をεに設定するとよい。このような範囲εは、例えば、探索初期における群全体の評価値の分布(分散、平均、最大値、最小値など)に基づいて決定することができる。

Figure 2014178717
Based on the above, in this embodiment, 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 ε. Such 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.).
Figure 2014178717

(装置構成)
次に、上述した最適解探索を実現するための装置構成および処理フローの具体例について説明する。
(Device configuration)
Next, a specific example of a device configuration and a processing flow for realizing the above-described optimal solution search will be described.

図2は、本実施形態の最適解探索装置の機能構成を模式的に示すブロック図である。最適解探索装置は、演算部1、入力部2、及び出力部3から構成され、さらに演算部1は、初期条件設定部10、探索処理部11、及び乱数制御部12から構成されている。同装置は、例えば、中央演算処理装置(CPU)、主記憶装置(RAM)、補助記憶装置(HDD、SSDなど)、入力装置(キーボード、マウスなど)、表示装置などのハードウエア資源を備える汎用のコンピュータによって構成することができる。図2に示す各機能は、CPUが補助記憶装置に格納されたプログラムをRAMにロードし、当該プログラムを実行することにより実現されるものである。   FIG. 2 is a block diagram schematically illustrating 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.

図3のフローチャートに沿って、最適解探索装置の各機能の詳細並びに最適解探索処理の流れを説明する。   The details of each function of the optimum solution searching apparatus and the flow of the optimum solution searching process will be described with reference to the flowchart of FIG.

S10では、初期条件設定部10が、表示装置などの出力部3に対し、初期条件設定画面を出力することにより、ユーザーに初期条件の入力を促す。ユーザーがキーボードなどの入力部2を介して初期条件を入力すると、初期条件設定部10がそれらの初期条件を記憶装置に格納する。ここで入力される初期条件としては、評価関数、解の候補である複数の個体それぞれの初期値(初期位置及び初期速度)、終了条件などがある。終了条件としては、繰り返し演算の回数を指定することもできるし、解が収束したことを判定するための収束条件を指定することもできる。収束条件としては、例えば、所定回数の繰り返し計算を実行しても解が更新されないことを条件としたり、目標の評価値に対して許容誤差を指定し、その誤差範囲内に収まる解が発見されることを条件としたりすることができる。また必要に応じて、特定個体の数又は割合、特定個体の選択方法(選択規則)、乱数項Ψの取り得る値の範囲(つまり、乱数ゲインwの初期値、範囲など)、更新式(1)、(2)における各種係数の値、慣性係数や最大速度の調整係数α,β、乱数ゲインの調整係数K,Δwなどを設定することも可能である。このように特定個体の選び方や特定個体に
付与する乱数(バラツキ)などの設定値をユーザーが設定できるようにすることで、最適解探索装置の特性(大域的探索能力と局所的探索能力のバランス、収束性、安定性など)を目的や用途に応じてユーザー自身が自由に調整できるようになる。
In S10, 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. When the user inputs initial conditions via the input unit 2 such as a keyboard, 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. As 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). In this way, by allowing the user to set values such as how to select specific individuals and random numbers (variations) to be given to specific individuals, the characteristics of the optimal solution search device (balance between global search capability and local search capability) , Convergence, stability, etc.) can be freely adjusted by the user according to the purpose and application.

初期条件の設定が完了すると、探索処理部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を計算する。 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. In S11, 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. In S12, 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. In S <b> 13 and S <b> 14, 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). In S15, the search processing unit 11 calculates the position x of each individual using the position update formula of Formula (3).

その後、S16において、乱数制御部12は、全ての個体の評価値がf(gbest)+εの範囲内に収まっているかどうかを判定し、収まっていなければ、式(11)により乱数ゲインwを減少し(S17)、収まっている場合は、式(12)により乱数ゲインwを増加する(S18)。 Thereafter, in S16, 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).

次に、S19において、探索処理部11が、S10で設定された終了条件を満足しているか否かを判断し、終了条件に満たなければS11へ戻り、終了条件を満足していればS20に進む。そしてS20において、探索処理部11は、gbestの値を評価関数f(x)の最適解として出力部3などに出力し、最適解探索処理を終了する。 Next, in S19, 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.

(比較実験)
本発明の効果を検証するため、本発明者は、最適解探索のベンチマークテストによく利用されるGriewank関数を用いて、第1実施形態の最適解探索処理における評価値の推移と、式(2)の乱数項Ψを無くした場合の評価値の推移とを比較した。その結果を、図4に示す。(a)が第1実施形態の処理結果を示し、(b)が乱数項Ψの無い比較例の処理結果を示している。第1実施形態の処理のほうが、少ない繰り返し計算数でより良い解に到達できていることがわかる。
(Comparative experiment)
In order to verify the effect of the present invention, the present inventor uses the Griebank function often used in the benchmark test for the optimal solution search, and the transition of the evaluation value in the optimal solution search process of the first embodiment and the formula (2 ) And the transition of the evaluation value when the random term Ψ is eliminated. The result is shown in 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.

さらに、本発明者らは、比較例の処理で得られた評価値の平均を第1実施形態の処理で得られた評価値の平均で割った値を「性能改善比」と定義し、3次元の個体を用いた場合と、10次元の個体を用いた場合それぞれの評価を行った。その結果、3次元の個体の場合には性能改善比が約2.0、10次元の個体の場合には性能改善比が約2.4となり、いずれの場合も性能が向上していることが検証できた。   Furthermore, 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”. Each evaluation was performed when a three-dimensional individual was used and when a ten-dimensional individual was used. As a result, in the case of a three-dimensional individual, the performance improvement ratio is about 2.0, and in the case of a ten-dimensional individual, the performance improvement ratio is about 2.4. I was able to verify.

(本実施形態の利点)
以上述べた本実施形態の構成によれば、速度の更新式(2)に乱数項Ψを導入したことによって、一部の個体の値に対して適度なバラツキを付与することができる。しかも、乱数項Ψは個体の値x,vや評価値f(x)とは独立した項になっているため、付与されるバラツキの大きさや方向は、各個体の値x,vや暫定解gbest,pbestとは無関係に決まるものとなる。したがって、本実施形態によれば、少なくとも一部の個体が暫定解からの拘束を離れ、暫定解の周辺以外の領域もランダムに探索するような挙動をとるため、局所解への陥りを可及的に回避し、且つ、より良い解をより少ない計算回数で発見できるようになる。
(Advantages of this embodiment)
According to the configuration of the present embodiment described above, by introducing the random number term Ψ into the speed update formula (2), it is possible to give an appropriate variation to the values of some individuals. In addition, since the random number term Ψ is a term independent of the individual values x and v and the evaluation value f (x), the size and direction of the given variation depends on the individual values x and v and the provisional solution. It is determined independently of g best and p best . Therefore, according to the present embodiment, since at least a part of individuals move away from the constraint of the provisional solution and randomly search the region other than the periphery of the provisional solution, the fall into the local solution is possible. And a better solution can be found with a smaller number of calculations.

また、本実施形態では、乱数項Ψを含む更新式(2)が適用される個体を一部の個体に限定したことによって、収束性の低下を抑制することができる。また、乱数項Ψを含む更
新式(2)が適用される個体とそれ以外の更新式(1)が適用される個体とを予め固定したことにより、更新式(1)、(2)および乱数項Ψの設計が容易になるとともに、処理(プログラム)が単純化されるという利点がある。
Moreover, in this embodiment, since the individuals to which the update formula (2) including the random number term Ψ is applied are limited to a part of individuals, it is possible to suppress a decrease in convergence. Further, 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. There are advantages that the design of the term Ψ becomes easy and the processing (program) is simplified.

さらに、本実施形態では、一様乱数Rと乱数ゲインwの積からなる乱数項Ψを用いたので、乱数ゲインwの値を調整するだけで、乱数の振幅の大小を調整でき、個体の多様性や集中性を簡単に制御することができる。また、S17(式(11))に示すように、繰り返し計算のたびに乱数ゲインwを減少させていくので、探索が進むにしたがって特定個体の動きが安定し、集中性を向上させることができる。一方、S18(式(12))に示すように、全ての個体の評価値が所定の範囲に収まってしまった場合は、乱数ゲインwを増加させる。これにより、探索途中で各個体の挙動が鈍くなってしまった場合などに、特定個体の動きを再び活発にすることができるので、局所解への陥りを防ぐことが可能となる。 Furthermore, in the present embodiment, since the random number term Ψ consisting of the product of the uniform random number R 3 and the random number gain w f is used, 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. Further, 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. On the other hand, as shown in S18 (equation (12)), if the evaluation value of all individuals had within a predetermined range, it increases the random gain w f. As a result, when 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.

<第2実施形態>
第2実施形態では、本発明を遺伝的アルゴリズム(GA)による最適解探索に適用する例について説明する。
Second Embodiment
In the second embodiment, an example in which the present invention is applied to an optimal solution search using a genetic algorithm (GA) will be described.

GAとは、生物の遺伝過程を模倣した探索方法であり、個体の値を遺伝子に見立て、交叉(良い評価値をもつ個体の遺伝子同士を組み合わせて次の世代の個体を生成する操作)、突然変異(個体の遺伝子の一部を変化させる操作)などの操作を繰り返しながら、より良い評価値を与える個体を探索する方法である。本実施形態では、GAによって個体を生成した後、一部の個体に対し乱数によるバラツキを与えることによって、局所解への陥りを抑制している。GA自体の処理は従来公知のものをそのまま利用できるため、ここではGAの詳しい説明は省略し、本実施形態の特徴的な処理部分についてのみ説明を行う。なお、本実施形態の最適解探索処理を実行するための装置構成は、図2で示したものと同じであるため、以下、図2の符号も参照して説明を行うものとする。   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). In the present embodiment, after individuals are generated by GA, 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 | omitted here and only the characteristic process part of this embodiment is demonstrated. In addition, since 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.

では、図5のフローチャートに沿って、第2実施形態に係る最適解探索処理の流れを説明する。   Now, the flow of the optimum solution search process according to the second embodiment will be described along the flowchart of FIG.

S30では、まず初期条件設定部10が、表示装置などの出力部3に対し、初期条件設定画面を出力することにより、ユーザーに初期条件の入力を促す。ユーザーがキーボードなどの入力部2を介して初期条件を入力すると、初期条件設定部10がそれらの初期条件を記憶装置に格納する。ここで入力される初期条件としては、評価関数、解の候補である複数の個体それぞれの初期値、終了条件などがある。終了条件としては、繰り返し演算の回数を指定することもできるし、解が収束したことを判定するための収束条件を指定することもできる。また必要に応じて、特定個体の数又は割合、特定個体の選択方法、乱数項Ψの取り得る値の範囲、乱数ゲインの調整係数K,Δwなどを設定することも可能である。   In S30, first, 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. When the user inputs initial conditions via the input unit 2 such as a keyboard, 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. As 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.

初期条件の設定が完了すると、探索処理部11が、終了条件を満足するまでS31〜S38の繰り返し計算を実行し、最適解を探索する。S31では、探索処理部11が、各個体の値xを評価関数f(x)に代入し、各個体の評価値を求める。S32では、S31で求めた各個体の評価値に基づいて選択した複数の個体に対し、交叉、突然変異などの操作を行い、次世代の個体を生成する。   When the setting of the initial conditions is completed, the search processing unit 11 performs the repeated calculation of S31 to S38 until the end condition is satisfied, and searches for the optimal solution. In S31, 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. In S32, 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.

その後、S33において、探索処理部11が、一部の個体の値に対し、乱数によるバラツキを付与する。S33で用いられる更新式は下記のとおりである。すなわち、1〜m−1番目の個体については、S32で生成された値x´がそのまま用いられ、m〜n番目の
個体については、更新式(22)により、値x´に乱数項Ψが加算される。

Figure 2014178717
After that, in S33, 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, the value x ′ generated in S32 is used as it is for the 1st to (m−1) th individuals, and the random term Ψ is added to the value x ′ by the update equation (22) for the mth to nth individuals. Is added.
Figure 2014178717

ここで、乱数項Ψとしては、第1実施形態の式(10)と同じく、一様乱数Rと乱数ゲインwの積で定義されたものを用いることができる。ただし、第1実施形態の場合と異なり、第2実施形態ではGAのシステムの安定性は担保されているため、乱数ゲインwの値に特に制約はない。 Here, as 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. However, unlike the first embodiment, in 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.

S34では、探索処理部11は、S31で求めた各個体の評価値を、それまでに得られたf(gbest)の値と比較し、より良い解が発見された場合にはgbestを更新する。 In S34, 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.

その後、S35において、乱数制御部12は、全ての個体の評価値がf(gbest)+εの範囲内に収まっているかどうかを判定し、収まっていなければ、式(11)により乱数ゲインwを減少し(S36)、収まっている場合は、式(12)により乱数ゲインwを増加する(S37)。 Thereafter, in S35, 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).

次に、S38において、探索処理部11が、S30で設定された終了条件を満足しているか否かを判断し、終了条件に満たなければS31へ戻り、終了条件を満足していればS39に進む。そしてS39において、探索処理部11は、gbestの値を評価関数f(x)の最適解として出力部3などに出力し、最適解探索処理を終了する。 Next, in S38, 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.

(比較実験)
本発明の効果を検証するため、Griewank関数を用いて、第2実施形態の最適解探索処理の結果と、比較例として式(22)の乱数項Ψを無くした場合の処理結果とを比較した。3次元の個体を用いた場合と、10次元の個体を用いた場合それぞれの評価を行ったところ、3次元の個体の場合も10次元の個体の場合も性能改善比が約2.0となり、いずれの場合も性能が向上していることが検証できた。
(Comparative experiment)
In order to verify the effect of the present invention, the result of the optimum solution search process of the second embodiment was compared with the process result when the random number term Ψ in Expression (22) was eliminated as a comparative example using the Griebank function. . When a three-dimensional individual was used and when a 10-dimensional individual was used, the performance improvement ratio was about 2.0 for both a three-dimensional individual and a ten-dimensional individual. In any case, it was verified that the performance was improved.

以上述べたように、本実施形態の構成によっても、第1実施形態と同様の作用効果が得られ、局所解への陥りを可及的に回避し、且つ、より良い解をより少ない計算回数で発見できるようになる。   As described above, even with the configuration of the present embodiment, the same effects as those of the first embodiment can be obtained, the fall into the local solution is avoided as much as possible, and the better solution is reduced in the number of calculations. Can be found at.

1 演算部
2 入力部
3 出力部
10 初期条件設定部
11 探索処理部
12 乱数制御部
DESCRIPTION OF SYMBOLS 1 Calculation part 2 Input part 3 Output part 10 Initial condition setting part 11 Search processing part 12 Random number control part

Claims (14)

与えられた評価関数に対する最適解をコンピュータによる繰り返し計算により求める最適解探索方法であって、
コンピュータが、解の候補である複数の個体それぞれの初期値と、繰り返し計算の終了条件と、を少なくとも設定する初期設定ステップと、
コンピュータが、各個体の値を評価関数に代入し各個体の評価値を計算する処理を、前記終了条件が満たされるまで、各個体の値を更新しながら、繰り返す探索ステップと、
コンピュータが、前記探索ステップにおいて最良の評価値を与えた個体の値を、前記評価関数の最適解として出力する出力ステップと、を含み、
前記探索ステップでは、
前記複数の個体それぞれの値を更新する際に、前記複数の個体のうちの一部の個体については、その個体の現在の値および評価値のいずれとも独立した乱数項を含む更新式が適用される
ことを特徴とする最適解探索方法。
An optimal solution search method for finding an optimal solution for a given evaluation function by iterative calculation by a computer,
An initial setting step in which the computer sets at least an initial value of each of a plurality of individuals that are solution candidates and an end condition of repeated calculation;
A search step in which a computer repeats the process of substituting the value of each individual into an evaluation function and calculating the evaluation value of each individual while updating the value of each individual until the termination condition is satisfied,
An output step of outputting, as an optimal solution of the evaluation function, the value of the individual that gave the best evaluation value in the searching step;
In the search step,
When updating the value of each of the plurality of individuals, an update formula including a random number term that is independent of both the current value and the evaluation value of the individual is applied to some individuals of the plurality of individuals. An optimal solution search method characterized by that.
前記乱数項は、一様乱数とゲインとの積を含んでいる
ことを特徴とする請求項1に記載の最適解探索方法。
The optimal solution search method according to claim 1, wherein the random term includes a product of a uniform random number and a gain.
前記探索ステップは、繰り返し計算のたびに前記ゲインを減少させるステップを含む
ことを特徴とする請求項2に記載の最適解探索方法。
The optimal solution searching method according to claim 2, wherein the searching step includes a step of decreasing the gain for each repetitive calculation.
前記探索ステップは、前記複数の個体すべての評価値が所定の範囲に収まった場合に、前記ゲインを増加させるステップを含む
ことを特徴とする請求項3に記載の最適解探索方法。
The optimal solution search method according to claim 3, wherein the search step includes a step of increasing the gain when evaluation values of all the plurality of individuals fall within a predetermined range.
前記所定の範囲は、その時点での最良の評価値から所定の範囲である
ことを特徴とする請求項4に記載の最適解探索方法。
The optimal solution search method according to claim 4, wherein the predetermined range is a predetermined range from a best evaluation value at that time.
前記探索ステップにおいて前記乱数項を含む更新式が適用される個体は、常に同じ個体である
ことを特徴とする請求項1〜5のいずれかに記載の最適解探索方法。
The optimal solution search method according to claim 1, wherein the individuals to which the update formula including the random number term is applied in the search step are always the same individuals.
前記探索ステップでは、粒子群最適化方法によって最適解の探索が行われ、
前記更新式は、個体の速度を更新するための更新式である
ことを特徴とする請求項1〜6のいずれかに記載の最適解探索方法。
In the search step, a search for an optimal solution is performed by a particle swarm optimization method,
The optimal solution search method according to claim 1, wherein the update formula is an update formula for updating the speed of an individual.
前記一部の個体以外の個体の速度を更新するための更新式が、下記式(1)、
前記一部の個体の速度を更新するための更新式が、下記式(2)、
下記式(1)又は(2)によって更新された速度を用いて、個体の位置を更新するための更新式が、下記式(3)、
で表されることを特徴とする請求項7に記載の最適解探索方法。
Figure 2014178717
The update formula for updating the speed of individuals other than the part of the individuals is the following formula (1),
An update formula for updating the speed of the part of the individuals is the following formula (2):
The update formula for updating the position of the individual using the speed updated by the following formula (1) or (2) is the following formula (3),
The optimal solution search method according to claim 7, wherein:
Figure 2014178717
前記探索ステップでは、遺伝的アルゴリズムによって最適解の探索が行われ、
前記更新式は、個体の値を更新するための更新式である
ことを特徴とする請求項1〜6のいずれかに記載の最適解探索方法。
In the search step, a search for an optimal solution is performed by a genetic algorithm,
The optimal solution search method according to claim 1, wherein the update formula is an update formula for updating an individual value.
前記一部の個体以外の個体の値を更新するための更新式が、下記式(21)、
前記一部の個体の値を更新するための更新式が、下記式(22)、
で表されることを特徴とする請求項9に記載の最適解探索方法。
Figure 2014178717
An update formula for updating values of individuals other than the part of the individuals is the following formula (21),
An update formula for updating the values of the partial individuals is the following formula (22):
The optimal solution search method according to claim 9, wherein:
Figure 2014178717
前記乱数項の取り得る値の範囲を指定可能である
ことを特徴とする請求項1〜10のいずれかに記載の最適解探索方法。
The optimal solution search method according to claim 1, wherein a range of possible values of the random term can be specified.
請求項1〜11のいずれかに記載の最適解探索方法の各ステップをコンピュータに実行させることを特徴とするプログラム。   A program for causing a computer to execute each step of the optimum solution searching method according to any one of claims 1 to 11. 請求項12に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。   A computer-readable storage medium storing the program according to claim 12. 与えられた評価関数に対する最適解をコンピュータによる繰り返し計算により求める最適解探索装置であって、
解の候補である複数の個体それぞれの初期値と、繰り返し計算の終了条件と、を少なくとも設定する初期設定手段と、
各個体の値を評価関数に代入し各個体の評価値を計算する処理を、前記終了条件が満たされるまで、各個体の値を更新しながら、繰り返し実行する探索手段と、
前記探索手段による繰り返し計算において最良の評価値を与えた個体の値を、前記評価関数の最適解として出力する出力手段と、を有し、
前記探索手段は、
前記複数の個体それぞれの値を更新する際に、前記複数の個体のうちの一部の個体については、その個体の現在の値および評価値のいずれとも独立した乱数項を含む更新式を適用する
ことを特徴とする最適解探索装置。
An optimal solution search device for finding an optimal solution for a given evaluation function by iterative calculation by a computer,
An initial setting means for setting at least an initial value of each of a plurality of individuals that are solution candidates and an end condition of repeated calculation;
Search means for repeatedly executing the process of substituting the value of each individual into the evaluation function and calculating the evaluation value of each individual while updating the value of each individual until the end condition is satisfied,
An 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;
The search means includes
When updating the value of each of the plurality of individuals, an update formula including a random number term independent of both the current value and the evaluation value of the individual is applied to some individuals of the plurality of individuals. The optimal solution search apparatus characterized by this.
JP2011155789A 2011-07-14 2011-07-14 Optimum solution search method and optimum solution search device Withdrawn JP2014178717A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011155789A JP2014178717A (en) 2011-07-14 2011-07-14 Optimum solution search method and optimum solution search device
PCT/JP2011/075261 WO2013008345A1 (en) 2011-07-14 2011-11-02 Optimum solution searching method and optimum solution searching device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011155789A JP2014178717A (en) 2011-07-14 2011-07-14 Optimum solution search method and optimum solution search device

Publications (1)

Publication Number Publication Date
JP2014178717A true JP2014178717A (en) 2014-09-25

Family

ID=47505663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011155789A Withdrawn JP2014178717A (en) 2011-07-14 2011-07-14 Optimum solution search method and optimum solution search device

Country Status (2)

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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016079947A (en) * 2014-10-21 2016-05-16 マツダ株式会社 Method for deciding chemical reaction rate constant used for engine combustion simulation and engine combustion simulation method
CN106203614A (en) * 2016-07-22 2016-12-07 吉林大学 KP model densities Function identification method based on self adaptation Vespertilio searching algorithm
EP3792788A1 (en) 2019-09-12 2021-03-17 Fujitsu Limited Optimization apparatus, optimization program, and optimization method
JP2021174078A (en) * 2020-04-21 2021-11-01 株式会社日立製作所 Optimization device and optimization method
JP2022524926A (en) * 2019-01-31 2022-05-11 キング・アブドゥッラー・ユニバーシティ・オブ・サイエンス・アンド・テクノロジー Optical processing device based on multi-layer nanodevices

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117689292A (en) * 2023-12-15 2024-03-12 国网湖北省电力有限公司物资公司 Optimization method and system applied to joint replenishment and distribution
CN117807818B (en) * 2024-03-01 2024-05-10 西安慧金科技有限公司 Industrial furnace life prediction method combined with dynamic basket ring optimization algorithm

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010257067A (en) * 2009-04-22 2010-11-11 Nikon Corp Apparatus and method for processing hereditary, and program

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016079947A (en) * 2014-10-21 2016-05-16 マツダ株式会社 Method for deciding chemical reaction rate constant used for engine combustion simulation and engine combustion simulation method
CN106203614A (en) * 2016-07-22 2016-12-07 吉林大学 KP model densities Function identification method based on self adaptation Vespertilio searching algorithm
CN106203614B (en) * 2016-07-22 2018-07-03 吉林大学 KP model densities Function identification methods based on adaptive bat searching algorithm
JP2022524926A (en) * 2019-01-31 2022-05-11 キング・アブドゥッラー・ユニバーシティ・オブ・サイエンス・アンド・テクノロジー Optical processing device based on multi-layer nanodevices
EP3792788A1 (en) 2019-09-12 2021-03-17 Fujitsu Limited Optimization apparatus, optimization program, and optimization method
JP2021174078A (en) * 2020-04-21 2021-11-01 株式会社日立製作所 Optimization device and optimization method
JP7370924B2 (en) 2020-04-21 2023-10-30 株式会社日立製作所 Optimization device and optimization method

Also Published As

Publication number Publication date
WO2013008345A1 (en) 2013-01-17

Similar Documents

Publication Publication Date Title
WO2013008345A1 (en) Optimum solution searching method and optimum solution searching device
Zhang et al. A parameter selection strategy for particle swarm optimization based on particle positions
Kikuchi et al. Dynamic modeling of genetic networks using genetic algorithm and S-system
CN112101530B (en) Neural network training method, device, equipment and storage medium
US20040167721A1 (en) Optimal fitting parameter determining method and device, and optimal fitting parameter determining program
CN107272403A (en) A kind of PID controller parameter setting algorithm based on improvement particle cluster algorithm
Chen Two-layer particle swarm optimization for unconstrained optimization problems
Oldewage et al. The merits of velocity clamping particle swarm optimisation in high dimensional spaces
CN110675912B (en) Gene regulation and control network construction method based on structure prediction
JP2020067980A (en) Prediction program, prediction method, and prediction device
CN111709511A (en) Harris eagle optimization algorithm based on random unscented Sigma point variation
Ruan et al. A new multi-function global particle swarm optimization
Peng et al. A hierarchical particle swarm optimizer with latin sampling based memetic algorithm for numerical optimization
CN110569959A (en) Multi-target particle swarm optimization algorithm based on collaborative variation method
Wang et al. Robust airfoil optimization based on improved particle swarm optimization method
Panda et al. Reduction of linear time-invariant systems using Routh-approximation and PSO
Sarafian et al. Explicit Gradient Learning for Black-Box Optimization.
Lin et al. Multi-agent simulated annealing algorithm with parallel adaptive multiple sampling for protein structure prediction in AB off-lattice model
Tenne et al. A versatile surrogate-assisted memetic algorithm for optimization of computationally expensive functions and its engineering applications
CN110210072B (en) Method for solving high-dimensional optimization problem based on approximate model and differential evolution algorithm
Maceda et al. xMLC--A Toolkit for Machine Learning Control
Hacioĝlu et al. Vibrational genetic algorithm as a new concept in airfoil design
CN114912368A (en) Method for optimizing neural network model by combining gradient algorithm and evolution algorithm
CN113722853A (en) Intelligent calculation-oriented group intelligent evolutionary optimization method
CN115114836A (en) Data classification prediction method and device based on PSO-GA

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20141007