JP3280487B2 - Planning method and apparatus - Google Patents

Planning method and apparatus

Info

Publication number
JP3280487B2
JP3280487B2 JP25184293A JP25184293A JP3280487B2 JP 3280487 B2 JP3280487 B2 JP 3280487B2 JP 25184293 A JP25184293 A JP 25184293A JP 25184293 A JP25184293 A JP 25184293A JP 3280487 B2 JP3280487 B2 JP 3280487B2
Authority
JP
Japan
Prior art keywords
plan
objective function
parent
generation
value
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.)
Expired - Lifetime
Application number
JP25184293A
Other languages
Japanese (ja)
Other versions
JPH07105180A (en
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 日立エンジニアリング株式会社
Priority to JP25184293A priority Critical patent/JP3280487B2/en
Priority to US08/319,789 priority patent/US5651098A/en
Publication of JPH07105180A publication Critical patent/JPH07105180A/en
Application granted granted Critical
Publication of JP3280487B2 publication Critical patent/JP3280487B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、各種分野における様々
な計画立案等における最適案を提供する手段に関し、特
に、順列、組合せの数が膨大となる計画立案問題等を簡
易な構成で、極めて高速に解決する手段に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a means for providing an optimal plan in various plans in various fields, and more particularly, to a plan planning problem or the like in which the number of permutations and combinations becomes enormous with a simple configuration. It relates to means to solve the problem at high speed.

【0002】[0002]

【従来の技術】従来から、多種多様な分野(例えば、電
子基板のプリントパターン設計、製造プロセス、下水道
配管設計、物流システム等)における、各種問題を対象
とする計画立案問題において、最大、あるいは、最小と
する項目を決め、該項目を、最大、あるいは、最小とす
る計画案である最適解を、現実的に許容し得る時間内に
見つけ出すために各種の手法が提案されてきた。
2. Description of the Related Art Conventionally, in a variety of fields (for example, a printed pattern design of an electronic substrate, a manufacturing process, a sewer piping design, a distribution system, etc.), it is the largest or the largest in a problem of planning. Various methods have been proposed for determining an item to be minimized and finding an optimal solution that is a plan for maximizing or minimizing the item within a practically acceptable time.

【0003】例えば、文献「「巡回セールスマン問題」
に画期的方法−カオス利用で驚異の高成績、科学朝日、
1993−Feb.」、あるいは、特開平2−3045
87号公報「最短距離、最短時間または最低交通費算出
装置」に記載されているように、相互結合型ニューラル
ネットワーク、カオス等を応用して、各種分野における
計画立案問題の最適化を、現実的に許容し得る時間内で
行う手段を実現しようとするものであった。
[0003] For example, the document "" Travel salesman problem ""
Breakthrough method-Amazing high performance using chaos, Science Asahi,
1993-Feb. Or JP-A-2-3045.
As described in Japanese Patent Publication No. 87 “Shortest distance, shortest time or minimum transportation cost calculation device”, optimization of planning problems in various fields can be realized by applying an interconnected neural network, chaos, etc. It is intended to realize a means to perform within an acceptable time.

【0004】また、文献「HANDBOOK OF G
ENETIC ALGORITHM(Van Nost
rand Reinhold Computer Li
brary)」に記載されている様に、生物の進化を模
擬し、大局的に準最適解を求める、いわゆる「遺伝的ア
ルゴリズム」も有望な手段として注目されている。
[0004] Also, the document "HANDBOK OFG"
ENETIC ALGORITHM (Van Nost
rand Reinhold Computer Li
As described in “Barry)”, a so-called “genetic algorithm” that simulates the evolution of living organisms and finds a suboptimal solution globally has also attracted attention as a promising means.

【0005】[0005]

【発明が解決しようとする課題】与えられた計画問題に
対して、考えうる全ての計画案の組合せを検討する、い
わゆる「列挙法」に対して、前記のように相互結合型ニ
ューラルネットワーク、カオス等の応用例を含む近年の
最適化手段の共通的な考え方は、まず初めに、ある計画
案を立案し、当該計画案の内容を少しずつ、効率的に変
更させ(すなわち、ランダムに立案するのではなく、少
ない立案回数で最適解を得ようとする工夫を施してい
る)、計画問題において最終的に、最大または最小にし
たい項目を表す関数である目的関数の値を評価してい
き、優れた計画(例えば、目的関数値を減少させる計
画)を、次候補の計画案として採用し、最終的に短時間
で最適解、すなわち、目的関数を最大または最小にする
計画案を得ようとするものである。
The so-called "enumeration method" for examining all conceivable combinations of plans for a given planning problem is described in the above. The common idea of recent optimization means, including application examples, is to first create a plan and change the contents of the plan little by little and efficiently (that is, to make a random plan). Instead of trying to find the optimal solution with a small number of planning), and finally, in the planning problem, evaluate the value of the objective function, which is the function representing the item that you want to maximize or minimize, A good plan (eg, a plan that reduces the value of the objective function) is adopted as a plan for the next candidate, and finally, in order to obtain an optimal solution in a short time, that is, a plan that maximizes or minimizes the objective function. Also It is.

【0006】しかしながら、従来のニューラルネットワ
ーク、カオス等を使用した方法では、第1に、新たに計
画立案を行う毎に、前記目的関数の最適化を行うための
計画立案時のパラメータである、計画対象となる計画の
構成要素数nの、少くとも2〜3乗回(すなわち、n2
からn3(回))の、計画立案のための所定の処理が必
要であること、さらに、第2に、最適解へ到達できると
いう理論的裏づけがなく、経験的に最適性を評価してい
るために、最適解、あるいは、準最適解に到達するのに
長い処理時間を要し、しかも、最適解に到達する確率が
極めて低いという問題点を有していた。
However, according to the conventional method using a neural network, chaos, or the like, first, every time a new plan is created, a parameter which is a parameter at the time of planning for optimizing the objective function is used. The number n of components of the target plan is at least 2-3 times (ie, n 2
To n 3 (times)), it is necessary to perform a predetermined process for planning, and secondly, there is no theoretical proof that the optimal solution can be reached, and the optimality is evaluated empirically. Therefore, there is a problem that it takes a long processing time to reach an optimal solution or a sub-optimal solution, and the probability of reaching the optimal solution is extremely low.

【0007】例えば、前記文献に記載されているシステ
ムにおいては、30ケ所を各々1回だけ訪問する経路の
うち、最短であるものを決定する、いわゆる「巡回セー
ルスマン問題(Traveling Salesman Problem:TS
P)」の解決を、最近のコンピュータ(例えば、10〜
100(MIPS)の能力を有するワークステーション
等)を使用しても、20秒という長時間を要してしま
う。しかも、3(%)の確率で、最適解を誤って求めて
しまう。
[0007] For example, in the system described in the above-mentioned document, a so-called “Traveling Salesman Problem (TS)” which determines the shortest route among routes that visit 30 locations only once each time.
P) "solution to recent computers (for example, 10-
Even if a workstation having a capacity of 100 (MIPS) is used, it takes a long time of 20 seconds. In addition, the optimal solution is erroneously obtained with a probability of 3 (%).

【0008】これに対し、前記「遺伝的アルゴリズム」
は、計画の要素を、生物進化における遺伝子の主要素で
ある「染色体」に対応させ、この染色体を複数設けるこ
とで、大域的な最適解の探索を行うものである。
[0008] On the other hand, the aforementioned "genetic algorithm"
Is to search for an optimal solution globally by associating the elements of the plan with "chromosomes", which are the main elements of genes in biological evolution, and providing a plurality of these chromosomes.

【0009】これにより、ニューラルネットワーク、カ
オス等を使用した手段に比べ、最適解を確実に求める性
能は劣るものの、処理性、とくに、検索開始初期段階で
の最適解への収束性が、大きく改善される可能性が高
い。しかしながら、遺伝・進化を模擬するためには、複
雑な交配、突然変異、評価、淘汰、再評価等の膨大な処
理を繰返し行わなければならず、現実の産業分野への有
効な応用は、極めて困難であった。
[0009] As a result, although the performance for surely finding the optimal solution is inferior to the means using a neural network, chaos, etc., the processability, especially the convergence to the optimal solution at the initial stage of the search start, is greatly improved. Likely to be. However, in order to simulate genetic and evolution, enormous processing such as complicated mating, mutation, evaluation, selection, and reevaluation must be repeatedly performed, and effective application to actual industrial fields is extremely difficult. It was difficult.

【0010】そこで、本発明は、「遺伝的アルゴリズ
ム」を使用した処理に関する問題点を解決し、組合せ、
順列の数が膨大である計画問題の中から、目的関数を最
大、あるいは、最小にする計画案を、極めて短時間で求
める手段を提供することを目的とする。
Therefore, the present invention solves the problems related to processing using a “genetic algorithm”,
An object of the present invention is to provide a means for obtaining a plan that maximizes or minimizes an objective function from a planning problem having a large number of permutations in an extremely short time.

【0011】[0011]

【課題を解決するための手段】上記課題を解決するた
め、以下の手段が考えられる。
The following means are conceivable to solve the above-mentioned problems.

【0012】すなわち、与えられた計画対象となる問
題、および該問題の解決に必要な変数の値を少くとも受
け付ける設定手段と、前記計画対象となる問題におい
て、最小化または最大化を図る項目を表す目的関数を作
成し、作成された目的関数の値を最小化または最大化す
る計画を立案する最適化手段と、計画立案に必要な変数
を少くとも記憶する記憶手段とを具備し、前記最適化手
段は、第一世代の親計画を所定数(人口数)だけ生成す
る初期計画生成手段と、計画案に対応して、その目的関
数の値を計算する演算手段と、複数の計画案を前記目的
関数値の下降順あるいは上昇順に並べる計画並べ替え手
段と、複数の計画案が与えられた場合であって、目的関
数値にしたがって各計画案の選択番号が割り当てられて
いるとき、世代の繰り返し毎に予め定められている所定
数個(人口数)の定数であって、該定数が指し示す番号
を前記選択番号として親計画案を所定数(人口数)だけ
選択する親計画選択手段と、選択された親計画に対し
て、任意の2個の要素を入れ替え、子計画を生成する子
計画生成手段と、親計画と生成された子計画に対して、
前記演算手段および計画並べ替え手段を起動させる制御
手段と、並べ替えされた計画のうち、並び替え順に従っ
て人口数分だけの計画を新たな親計画として選択する世
代交代手段と、第二世代から予め定められた世代数ま
で、前記親計画選択手段、子計画生成手段、制御手段お
よび世代交代手段を繰返し起動させ、目的関数値を、最
大または最小にする計画を選び出す最適計画選出手段を
備える計画立案装置である。
That is, setting means for accepting at least a given problem to be planned and values of variables necessary for solving the problem, and an item to be minimized or maximized in the problem to be planned. Optimizing means for creating a plan to create an objective function to be represented, minimizing or maximizing the value of the created objective function, and storage means for storing at least variables necessary for the planning, Means for generating an initial plan for generating a predetermined number (population number) of parent plans of the first generation, calculating means for calculating a value of an objective function corresponding to the plan, and a plurality of plans. and planning rearrangement means for arranging the descending order or the ascending order of the objective function value, in a case where a plurality of plan is given, by selecting the number of each plan is assigned according to the objective function value <br/> When you are Parent plan selection means for selecting a predetermined number (population number) of parent plans by using a number designated by the predetermined number (population number) which is predetermined for each return, and using the number indicated by the constant as the selection number; A child plan generating means for generating a child plan by replacing any two elements with respect to the selected parent plan;
Control means for activating the calculating means and the plan rearranging means, generation replacing means for selecting a plan corresponding to the number of populations as a new parent plan according to the rearranged order among the rearranged plans, and A plan including an optimal plan selecting means for repeatedly activating the parent plan selecting means, the child plan generating means, the control means, and the generation changing means up to a predetermined number of generations, and selecting a plan for maximizing or minimizing the objective function value. It is a planning device.

【0013】また、前記子計画生成手段は、選択された
親計画に対して、親計画要素数の範囲内で一様に分布す
る乱数を2個生成し、乱数で指定された順番に配置する
2個の要素を入れ替え、子計画を生成する手段が好まし
い。
The child plan generation means generates two random numbers uniformly distributed within the range of the number of parent plan elements for the selected parent plan, and arranges them in the order specified by the random numbers. A means for exchanging two elements and generating a child plan is preferred.

【0014】なお、前記演算手段は、与えられた計画案
に対する目的関数値を演算する際、計画要素の変更に伴
う目的関数の変化分のみを演算し、変更前の目的関数値
に、前記変化分を加算する手段であるのが好ましい。ま
た、さらに表示手段を備え、該表示手段は、前記最適計
画選出手段が選び出した計画を、表示するのも好まし
い。
When calculating the objective function value for the given plan, the arithmetic means calculates only the change of the objective function due to the change of the plan element, and adds the change to the objective function value before the change. It is preferably a means for adding minutes. Further, it is preferable that the display device further includes a display unit, and the display unit displays the plan selected by the optimal plan selection unit.

【0015】なお、前記記憶手段は、前記世代の繰り返
し毎に予め定められている所定数個(人口数)の定数
や、前記子計画を生成するときに使用する乱数を予め格
納しておくことも考えられる。
It is to be noted that the storage means stores in advance a predetermined number (number of population) constants predetermined for each repetition of the generation and random numbers used when generating the child plan. Is also conceivable.

【0016】また、以下の計画立案方法も考えられる。The following planning method is also conceivable.

【0017】すなわち、与えられた複数の計画候補の内
容を変更し、所定の変更回数毎に、計画候補毎の目的関
数値を演算し、該演算値にもとづき、計画候補の数を所
定値に制限して、目的関数の値を、最小あるいは最大に
する計画を立案する計画立案方法であって、計画が順列
問題である場合には、順列の要素並びの一部を変更し、
また、計画が組合せ問題である場合には、選択する要素
の少くとも1つを、変更して選択し、前記変更によって
生ずる目的関数値の変更値を演算し、該変更値を変更前
の計画候補の目的関数値に加えることにより、変更後の
計画候補に対する目的関数値を求め、前記所定の変更回
数毎には、各計画候補の目的関数値の並び順に対し、予
め与えた選択定数で示される数だけ立案された計画候補
を選択して、選択された計画候補の中から、1の計画案
を選出する計画立案方法である。
That is, the contents of a given plurality of plan candidates are changed, an objective function value for each plan candidate is calculated for each predetermined number of changes, and the number of plan candidates is reduced to a predetermined value based on the calculated value. Restriction, a planning method for planning the value of the objective function to minimize or maximize, if the plan is a permutation problem, change a part of the permutation element list,
When the plan is a combination problem, at least one of the elements to be selected is changed and selected, and a change value of the objective function value caused by the change is calculated. By adding to the objective function values of the candidates, an objective function value for the changed plan candidate is obtained, and for each of the predetermined number of changes, the order of the objective function values of each plan candidate is indicated by a previously given selection constant. This is a planning method in which a plurality of planned candidates are selected, and one plan is selected from the selected plan candidates.

【0018】さらに、与えられた複数の計画候補をそれ
ぞれ1つの染色体に対応させ、また、計画において最小
化または最大化を図る項目を表す目的関数の値を適応値
に対応させ、該適応値にもとづいて、所定数だけ親計画
を選択し、選択された親計画に対し、交配、突然変異、
および逆位のうちの少くとも1種の遺伝的操作を行う処
理を行って、目的関数値を、最小または最大にする計画
を立案する方法であって、前記親計画の選択は、前記適
応値の下降順位、あるいは、上昇順位によって定める遺
伝的計画立案方法も考えられる。
Further, the plurality of given plan candidates are respectively made to correspond to one chromosome, and the value of the objective function representing the item to be minimized or maximized in the plan is made to correspond to the adaptation value. Based on this, a predetermined number of parent plans are selected, and mating, mutation,
And performing a process of performing at least one type of genetic operation among the inversions and planning a plan to minimize or maximize the objective function value, wherein the selection of the parent plan is based on the adaptive value A genetic planning method determined by the descending order or the ascending order is also conceivable.

【0019】[0019]

【作用】本発明は、従来の遺伝的アルゴリズムにおける
淘汰、人口制限、交配等の冗長な処理を含まない、極め
て明解かつ求まる解の最適性を低下させない計画立案手
段である。
The present invention is a planning means which does not include redundant processing such as selection, population restriction and crossing in the conventional genetic algorithm, and which does not lower the optimality of the solution which is extremely clear and required.

【0020】すなわち、本発明は、計画立案において、
1世代内における人口数分の繰り返し処理を、C言語等
のコンピュータ用高級言語を使用すると1行程度で記述
できる処理のみとし、しかも従来方法と同等の最適性を
有する計画案を得ることが可能となる。
That is, according to the present invention, in planning,
When using a high-level computer language such as C language, it is possible to use only one line for the repetition processing for the number of people in one generation, and it is possible to obtain a plan with the same optimumness as the conventional method. Becomes

【0021】以上の機能を実現する手段は、以下の様な
生物の進化における重要な法則の発見と、その応用を行
うことにより達成されるものである。
Means for realizing the above functions can be achieved by discovering the following important laws in the evolution of living things and applying them.

【0022】遺伝的アルゴリズムについては、前記文献
に詳しく説明されているため、ここでは、その概要のみ
を述べる。
Since the genetic algorithm is described in detail in the above-mentioned document, only the outline thereof will be described here.

【0023】まず、予め世代毎の個体の最大人口を定
め、計画案をそれぞれ各々の個体に対応づける。各個体
は、評価項目を表現するために定められた目的関数を予
め用意しておき、この目的関数の値により評価される。
First, the maximum population of individuals for each generation is determined in advance, and a plan is associated with each individual. Each individual prepares in advance an objective function defined for expressing an evaluation item, and is evaluated based on the value of the objective function.

【0024】次に、その評価値の、人口全体の評価値の
総和に対する比率が計算される。
Next, the ratio of the evaluation value to the sum of the evaluation values of the entire population is calculated.

【0025】ある世代においては、前記比率に応じて選
び出された(優性遺伝)1個、あるいは複数の「親」と
称される個体に対して、2個以上の親の構成要素を互い
に交換して「子」を生成する「交配操作」、1個の親の
要素を予め定められた突然変異率に従って変化させる
「突然変異操作」、1個の親の要素並びを逆転させる
「逆位操作」等の遺伝子オペレーター(遺伝子操作)に
より、所定の数の「子個体」が生成される。
In a certain generation, two or more parent components are exchanged for one or more “parents” selected according to the ratio (dominantly inherited). "Mating operation" to generate "child" and "mutation operation" to change one parent element according to a predetermined mutation rate, "Inversion operation to reverse the arrangement of one parent element" , Etc., a predetermined number of “child individuals” are generated.

【0026】次に、親個体と子個体について、予め定め
られた手順で、予め定められた数の個体を生存させ、次
世代の処理に移行する処理を所定回数繰り返す。
Next, for a parent individual and a child individual, a predetermined number of individuals are made to survive according to a predetermined procedure, and the process of shifting to the next-generation process is repeated a predetermined number of times.

【0027】上記処理において、従来の方法では、世代
毎に、全ての個体に対し、評価値に応じた選択基準を生
成していたため、全体に対する比率演算等、多くの処理
ステップを要していた。また、優性的な親選択も、同様
に多くの処理ステップを要する。
In the above-described processing, in the conventional method, a selection criterion corresponding to the evaluation value is generated for every individual for each generation, so that many processing steps such as a ratio calculation for the whole are required. . Dominant parent selection also requires many processing steps.

【0028】さらに、遺伝子オペレータ処理、目的関数
値の評価処理も、少くとも計画要素数の2以上のべき乗
回の処理ステップを要するものであった。
Further, the gene operator processing and the objective function value evaluation processing also require at least the power of two or more processing steps of the number of planned elements.

【0029】ところが、生物の進化において、適応化関
数の定義が一定の場合は、世代毎に、優性遺伝における
親を選択するための基準は、ほとんど変化していないこ
とを統計的に検出できる。すなわち、初期世代における
前記目的関数値のばらつきは、目的関数を構成する指数
関数における指数が大きく、すなわち、世代が進むに従
い、小さくなり、さらに世代が進むと、上記のばらつき
は、ほとんどなくなり、各個体間における目的関数値の
差がほとんどなくなる。この過程は、どのような問題に
対しても同じことが言える。
However, when the definition of the adaptation function is constant in the evolution of organisms, it can be statistically detected that the criteria for selecting a parent in dominant inheritance hardly change for each generation. That is, the variation in the objective function value in the initial generation is such that the exponent in the exponential function constituting the objective function is large, that is, decreases as the generation progresses. There is almost no difference in the objective function value between individuals. This process is the same for any problem.

【0030】すなわち、このような推移を、予め問題毎
に実験的または経験的に得ておくことにより、実際の計
画立案時に、詳細で複雑な優性遺伝的処理が一切不要と
なるのである。
That is, by obtaining such transitions experimentally or empirically in advance for each problem, no detailed and complicated dominant genetic processing is required at the time of actual planning.

【0031】次に、遺伝子オペレーターの処理性につい
て、重要な自然的法則の利用を行うことが可能となる。
Next, it becomes possible to make use of important natural rules regarding the processability of the gene operator.

【0032】交配オペレーターは、異なる2個の個体よ
り増殖を行うため、生成された子個体の評価(目的関数
値の演算処理)は、それぞれ厳密に行わねばならない。
これに対し、突然変異オペレーターと逆位オペレーター
は、1個の個体の一部を変更して、新たな子個体を得る
操作であるから、その評価は、親の評価値に、変更部分
の評価値を加えるだけでよい。すなわち、評価ステップ
が、計画対象要素数に依存せずに行える。
Since the mating operator propagates from two different individuals, the evaluation of the generated offspring individuals (processing for calculating the objective function value) must be performed strictly.
On the other hand, the mutation operator and the inversion operator are operations in which a part of one individual is changed to obtain a new offspring individual. Therefore, the evaluation is based on the evaluation value of the parent and the evaluation of the changed part. Just add the value. That is, the evaluation step can be performed without depending on the number of elements to be planned.

【0033】以上の重要な自然法則を応用することによ
り、従来の遺伝的アルゴリズムと同等の結果を得るため
には、わずかに下記の処理(本処理は、一例である)を
行えばよいだけである。
In order to obtain a result equivalent to that of the conventional genetic algorithm by applying the above-mentioned important natural laws, only the following processing (this processing is an example) is required. is there.

【0034】(ステップ1)初期個体群の評価値を計算
する。
(Step 1) An evaluation value of the initial population is calculated.

【0035】(ステップ2)評価値の下降順(上昇順の
場合もある)に個体を並べ替える。
(Step 2) Individuals are rearranged in descending order (or in ascending order) of evaluation values.

【0036】(ステップ3)以下の処理を、所定世代数
だけ繰り返す。
(Step 3) The following processing is repeated for a predetermined number of generations.

【0037】(ステップ4)以下のステップ5の処理を
定められた回数繰り返す。
(Step 4) The following step 5 is repeated a predetermined number of times.

【0038】(ステップ5)評価値の順位にもとずいて
予め定められている親個体に対し、突然変異操作を行
い、子個体を生成し、変更部分の評価値を計算し、親個
体の評価値に加え、子個体の評価値を得る。
(Step 5) A mutation operation is performed on a predetermined parent individual based on the rank of the evaluation value, a child individual is generated, the evaluation value of the changed part is calculated, and the parent individual is evaluated. The evaluation value of the child individual is obtained in addition to the evaluation value.

【0039】(ステップ6)評価値の下降順に、個体を
並べ替える。
(Step 6) Individuals are rearranged in descending order of the evaluation value.

【0040】(ステップ7)評価値が最大である個体を
出力する。
(Step 7) The individual having the maximum evaluation value is output.

【0041】ここでC1,C2,C3,C4,C5を定
数、最適対象問題の要素数をnとすると、上記ステップ
1とステップ2は、C1×n(回)のステップ数でよ
い。
Here, assuming that C1, C2, C3, C4, and C5 are constants and the number of elements of the optimal target problem is n, steps 1 and 2 may be C1 × n (times).

【0042】ステップ3での繰り返し処理数は、C2×
n(回)で十分である。
The number of repetitions in step 3 is C2 ×
n (times) is sufficient.

【0043】ステップ4は、突然変異率であり、十分、
nより小さいので、C3×n(回)の処理でよい。ステ
ップ5は、変更部分のみの演算であるから、nに依存し
ない所定の回数、C4(回)である。また、ステップ6
は、バケットソート等を使用することにより、C5×n
(回)でよい。
Step 4 is the mutation rate,
Since it is smaller than n, processing of C3 × n (times) is sufficient. Step 5 is a predetermined number of times C4 (times) that does not depend on n since the calculation is only for the changed portion. Step 6
Is C5 × n by using a bucket sort or the like.
(Times).

【0044】この結果、本発明は、高々n2(回)のオ
ーダーの処理回数で計画立案を行うことが可能となる。
As a result, according to the present invention, it is possible to make a plan with at most n 2 (times) processing times.

【0045】例えば、従来の方法では、1つの計画案の
立案時にn3(個)のステップを含んでいるため、これ
をn3(回)繰り返すと、合計でn6(回)の処理ステッ
プを要する。
For example, in the conventional method, n 3 (number of) steps are included in the preparation of one plan, and when this is repeated n 3 (times), a total of n 6 (times) processing steps are performed. Cost.

【0046】例えば、前記文献では、最適化、すなわ
ち、最小化または最大化を図る項目を表す目的関数E
(i)を、合計距離とし、その最小化を図るためにE
(i)を次の様に定義している。
For example, in the literature, an objective function E representing an item to be optimized, that is, minimized or maximized, is described.
(I) is the total distance, and E is used to minimize the total distance.
(I) is defined as follows.

【0047】E(i)=ΣΣΣdab・Vbc(i)・(V
bc-1(i)+Vbc+1(i)) (第一のΣは、a=1からnまでの総和、第二のΣは、
b=1からnまでの総和、第三のΣは、c=1からnま
での総和を表す。)ここで、dijは、地点iとjの距
離、Vijは、地点iをj番目に訪れる確率を表す。
E (i) = ΣΣΣda · Vbc (i) · (V
bc-1 (i) + Vbc + 1 (i)) (The first Σ is the sum of a = 1 to n, the second Σ is
The sum of b = 1 to n, the third Σ represents the sum of c = 1 to n. Here, dij represents the distance between the points i and j, and Vij represents the probability of visiting the point i at the jth time.

【0048】この式の演算処理を実行するには、少くと
もn3(回)の計算が必要である。
In order to execute the arithmetic processing of this equation, at least n 3 (times) calculations are required.

【0049】厳密には、前記文献の記載例では、n4
項が存在するため、n7(回)という膨大な計算量を要
し、nが30以上の場合の計画問題に応用することは現
実的でない。
Strictly speaking, in the example described in the above-mentioned document, the term n 4 exists, so that a huge amount of calculation is required as n 7 (times), and the invention is applied to a planning problem when n is 30 or more. Is not realistic.

【0050】従来の遺伝的アルゴリズムのうち最も高速
なものは、n3(回)のオーダーで計画を立案するもの
である。これとの比較を行ってみる。
The fastest of the conventional genetic algorithms is the one that makes a plan in the order of n 3 (times). Let's compare with this.

【0051】1秒間に107(回)の命令実行が可能な
(すなわち、10(MIPS)の能力を有する)コンピ
ューターを使用して、n=10,000の最適化問題を
解法しようとすると、各々の手段での1個体の処理ステ
ップ数を1,000とすると、従来で最速の遺伝的アル
ゴリズムでの処理時間Toldは少くとも Told=(1000×n4)/(10(MIPS)) =(103×1016)/(107) =(1019)/(107)=1012≒3(万年) 一方、本発明での処理時間Tnewは、 Tnew=(1000×n2)/(100(MIP
S)) =(103×108)/(107) =(1011)/(107)=104(秒)≒3(時間) であるから1/108に処理時間が短縮され、処理の高
速化が達成されたことになる。すなわち、1億倍の高速
化が実現される。
Using a computer capable of executing 10 7 instructions per second (ie, having a capability of 10 (MIPS)), trying to solve an n = 10,000 optimization problem, Assuming that the number of processing steps of one individual in each means is 1,000, the processing time Told in the conventional fastest genetic algorithm is at least Told = (1000 × n 4 ) / (10 (MIPS)) = ( 10 3 × 10 16 ) / (10 7 ) = (10 19 ) / (10 7 ) = 10 12 ≒ 3 (10,000 years) On the other hand, the processing time Tnew in the present invention is: Tnew = (1000 × n 2 ) / (100 (MIP
S)) = (10 3 × 10 8 ) / (10 7 ) = (10 11 ) / (10 7 ) = 10 4 (seconds) ≒ 3 (time) Since the processing time is reduced to 1/10 8 This means that the processing speed has been increased. That is, a speedup of 100 million times is realized.

【0052】このことは、高速化の達成と同時に、処理
許容時間が定められている場合には、同一時間内に解法
し得る問題の大きさが飛躍的に大きくなることを示して
いる。
This indicates that the problem that can be solved within the same time is dramatically increased if the allowable processing time is determined at the same time as the achievement of the high speed.

【0053】例えば、従来方法での解法可能な最適化の
対象の数をnold、許容時間を10,000(秒)と
すると、 nold=4√(10000×107/103) =4√(108)=100 (4√は、4乗根を表す) であるのに対し、本発明で解法可能な最適化の対象数N
newは、 Nnew=√(10000×107/103) =√(108)=10000 である。すなわち約3時間で、10000個の要素を有
する最適化問題の解決が可能となる。
[0053] For example, Nold the number of target solution can be optimized in the conventional method, when the allowable time is 10,000 (s), nold = 4 √ (10000 × 10 7/10 3) = 4 √ ( 10 8) = 100 (4 √ it is while a representative of the fourth root), subject number N of solutions can be optimized in the present invention
new is, Nnew = √ (10000 × 10 7/10 3) = √ (10 8) = 10000. That is, it is possible to solve an optimization problem having 10,000 elements in about 3 hours.

【0054】[0054]

【実施例】以下、本発明の実施例について、図面を参照
して詳細に説明する。
Embodiments of the present invention will be described below in detail with reference to the drawings.

【0055】図1に、本発明にかかる遺伝的計画立案装
置1(以下、「最適化装置」と称することが多い)の構
成例を示す。
FIG. 1 shows a configuration example of a genetic planning device 1 (hereinafter, often referred to as an “optimizing device”) according to the present invention.

【0056】図1に示す一例のように、本装置は、最適
化手段2と、設定手段3と、表示手段4と、記憶手段5
とを有して構成される。
As in the example shown in FIG. 1, the present apparatus comprises an optimizing means 2, a setting means 3, a display means 4, and a storage means 5.
And is configured.

【0057】設定手段3は、与えた計画対象となる問題
を受け付ける機能、計画立案に必要なパラメータを示す
定数等を受け付ける機能等を少なくとも有する手段であ
り、例えば、キーボード、マウス等により実現できる。
The setting means 3 is a means having at least a function of receiving a given problem to be planned, a function of receiving constants indicating parameters required for planning, and the like, and can be realized by, for example, a keyboard, a mouse, or the like.

【0058】最適化手段2は、最適な計画を立案する手
段であり、与えた計画対象となる問題において、最小ま
たは最大とする項目を表現する目的関数を作成し、該目
的関数の値を、最大または最小にするため、以下に示す
ステップの処理を少くとも行う手段であり、例えば、C
PU、ROM(予め所定の処理を行うプログラムを内蔵
してある)、RAM等の電子デバイスにて実現できる。
The optimizing means 2 is a means for drafting an optimal plan. The optimizing means 2 creates an objective function representing an item to be minimized or maximized in a given problem to be planned, and calculates the value of the objective function by: It is a means for performing at least the processing of the following steps in order to maximize or minimize it.
It can be realized by an electronic device such as a PU, a ROM (in which a program for performing a predetermined process is stored in advance), and a RAM.

【0059】ここで、最適化手段が行う処理を、ステッ
プに分けて、概説しておく。
Here, the processing performed by the optimizing means will be outlined in steps.

【0060】まず、ステップ1としては、予め定められ
ている数(以下「人口」と称することが多い)だけ立案
された計画案である、「染色体」に対する目的関数値を
演算し、この値を、当該計画案の「評価値」とする。か
かる評価値は、「適応度」と称されることもある。
First, in step 1, an objective function value for a "chromosome", which is a plan drafted for a predetermined number (hereinafter, often referred to as "population"), is calculated. , The “evaluation value” of the plan. Such an evaluation value may be referred to as “fitness”.

【0061】次に、ステップ2として、前記染色体を、
計算により求められた評価値の下降順に並べ替える処理
を行う。なお、本実施例は、目的関数を最大とする計画
を求めるものであるが、最小値の場合は、前記染色体の
目的関数値の逆数を評価値とする等の少しの変更で対処
可能である。もちろん、染色体を、評価値の下降順では
なく、上昇順に並べて対処することも可能である。
Next, as step 2, the chromosome is
A process of rearranging the evaluation values obtained by the calculation in descending order is performed. In the present embodiment, the plan that maximizes the objective function is obtained.However, in the case of the minimum value, it can be dealt with by a small change such as making the reciprocal of the objective function value of the chromosome an evaluation value. . Of course, it is also possible to arrange chromosomes in ascending order instead of descending evaluation values.

【0062】ステップ3は、以下のステップ4からステ
ップ6までの処理を、定められた世代数分(すなわち、
定められた回数)繰り返すように制御する。
In step 3, the processing from step 4 to step 6 described below is performed for a predetermined number of generations (ie,
(Repeated number of times).

【0063】ステップ4は、以下のステップ5を予め定
められている回数だけ、繰り返し処理するように制御す
る。
In step 4, control is performed so that step 5 described below is repeatedly performed a predetermined number of times.

【0064】ステップ5は、世代毎に予め定められてお
り、全個体の評価値の総和に対する、各々の個体の評価
値の比率に従って選択される個体(以下「親個体」と称
する)に対し、個体の長さ範囲内に一様に分布する複数
の整乱数(個体の長さが「10」ならば「1」から「1
0」までの値をとる整数の乱数である)により、選択さ
れた親個体の要素、あるいは、親個体の要素並びの一部
を並べ替え「子個体」を生成し、変更部分の目的関数値
を演算し、親個体の目的関数値に加えることにより、子
個体の評価値を定める。
Step 5 is predetermined for each generation, and is performed for an individual (hereinafter referred to as a “parent individual”) selected according to the ratio of the evaluation value of each individual to the sum of the evaluation values of all individuals. Plural integer random numbers uniformly distributed within the length range of the individual (from "1" to "1" if the length of the individual is "10")
It is an integer random number taking a value up to "0"), rearranging the elements of the selected parent individual or a part of the element list of the parent individual to generate "child individuals", and the objective function value of the changed part Is calculated and added to the objective function value of the parent individual to determine the evaluation value of the child individual.

【0065】ステップ6は、ステップ4の繰り返し処理
が終了後、すなわち世代の推移毎に行われる処理であ
り、前記親個体群(親個体の集合である)と子個体群
(子個体の集合である)に対し、各々の個体が有する評
価値の下降順に「人口」数分だけ、個体を並べ替える。
Step 6 is a process performed after the repetition of Step 4 is completed, that is, for each generation transition. The parent individual group (which is a set of parent individuals) and the child individual group (which is a set of child individuals) ), The individuals are rearranged by the number of “populations” in descending order of the evaluation value of each individual.

【0066】ステップ7は、ステップ6までの処理過程
において、最も大きい評価値を有する個体、すなわち、
計画における目的を満足する計画案を出力する。
Step 7 is an individual having the largest evaluation value in the process up to step 6, ie,
Output a plan that satisfies the purpose in the plan.

【0067】さて、記憶手段5は、設定手段3を介して
与えられた問題、最適化のために使用する定数等を少な
くとも記憶する手段であり、例えば、RAM等によって
実現される。
The storage means 5 is means for storing at least the problem given via the setting means 3, constants used for optimization, and the like, and is realized by, for example, a RAM or the like.

【0068】また、表示手段4は、設定手段3を介して
記憶手段5に格納された情報、必要な定数、最適化手段
による処理結果等(計画立案結果等)を表示する手段で
あり、液晶表示装置、ELディスプレー、CRT等によ
って実現できる。
The display means 4 is a means for displaying information stored in the storage means 5 via the setting means 3, necessary constants, processing results by the optimizing means (planning results, etc.), and a liquid crystal display. It can be realized by a display device, an EL display, a CRT or the like.

【0069】次に、図2を参照して、最適化手段2の処
理手順を説明する。
Next, the processing procedure of the optimizing means 2 will be described with reference to FIG.

【0070】本手段は、前記ステップ1に対応する、全
個体を評価するステップAと、前記ステップ2に対応す
る、全個体を評価値の下降順に全個体を並べ替えるステ
ップBと、予め記憶手段3に格納されている親個体を選
択し、該個体の一部の変更、または、並びの変更等の操
作により、新たな個体を生成し、変更した部分について
の目的関数値の変化度合を演算し、これを、既に求めら
れている親個体の評価値に加えることによって子個体の
評価値を定める、前記ステップ5に対応するステップC
と、親個体群と子個体群を、各々の個体が有する評価値
の下降順に並び替え、「人口」数分選び出す、前記ステ
ップ6に対応するステップDと、ステップCを、C2×
n(回)(例えば、C2=人口数、nは、計画対象の要
素数)繰り返し処理するように、繰り返しポインター
「PP」を更新する機能、および、ステップCの処理を
C1×n(回)繰り返し処理し、ステップDをC1
(回)(例えばC1=20)繰り返し処理するように、
繰り返しポインター「gn」を更新する機能を有してい
る。
This means comprises: a step A for evaluating all individuals corresponding to the step 1; a step B for sorting all the individuals in descending order of the evaluation value corresponding to the step 2; 3 is selected, a new individual is generated by an operation such as a change in a part of the individual, or a change in the arrangement, and the degree of change of the objective function value for the changed part is calculated. Then, this is added to the previously obtained evaluation value of the parent individual to determine the evaluation value of the child individual.
And the parent and child populations are rearranged in descending order of the evaluation value of each individual, and selected for the number of “populations”. Steps D and C corresponding to step 6 are defined as C2 ×
n (times) (for example, C2 = population number, n is the number of elements to be planned) A function of repeatedly updating the pointer “PP” so as to repeat the process, and the process of step C is performed by C1 × n (times) Repeat Step D to C1
(Times) (for example, C1 = 20)
It has a function of repeatedly updating the pointer "gn".

【0071】本発明の動作の詳細を示すため、まず、図
3を参照して説明する。
First, the operation of the present invention will be described in detail with reference to FIG.

【0072】図3は、いわゆる「巡回セールスマン問題
(TSP)」を計画問題例としたもので、前記設定手段
3を介して与えられた問題が、設定された状態を示して
いる(このような状態は、例えば、表示手段に表示させ
る構成にしておけばよい)。
FIG. 3 shows a so-called "Travel Salesman Problem (TSP)" as an example of a planning problem, and shows a state in which a problem given via the setting means 3 has been set. Such a state may be displayed on the display means, for example).

【0073】さて、この問題は、地点「0:●」を出発
し、地点「1」から「10」までを1回だけ訪問して、
再地点「●」に戻る経路のうちで、例えば、距離が最も
長く(もちろん最も短くなるものを決定する問題であっ
ても良い)なるものを決定する問題である。
Now, the problem is that, starting from the point “0: ●”, visiting the points “1” to “10” only once,
This is a problem of determining, for example, a route having the longest distance (of course, a problem of determining the shortest route) among routes returning to the re-point "●".

【0074】ここでは、目的関数を距離の総和とし、最
適化の目的は距離を最も長くすることとしたが、目的関
数は、全箇所を訪問するのに要する所要時間の総和であ
っても、自動車等の訪問に使用する手段が消費するエネ
ルギーの総和等、いかなるものであってもよいことはい
うまでもない。
Here, the objective function is the sum of distances, and the purpose of optimization is to maximize the distance. However, even if the objective function is the sum of the time required to visit all places, It goes without saying that any means may be used, such as the sum of the energy consumed by the means used to visit a car or the like.

【0075】また、最も短い距離を求めるときは、最も
長い距離の逆数等を利用して、問題を解決すれば良いこ
とは言うまでもない。
When finding the shortest distance, it goes without saying that the problem can be solved by using the reciprocal of the longest distance.

【0076】また、図4は、記憶手段5に記憶されてい
るもので、地点fからtの距離D(f、t)が、マトリ
ックス状に定義されている。例えば、地点1から地点2
の距離は、 D(1,2)=17 であることが1回の検索で得られる。
FIG. 4 shows data stored in the storage means 5, in which the distance D (f, t) from the point f to t is defined in a matrix. For example, from point 1 to point 2
Is obtained by one search that D (1,2) = 17.

【0077】以下、図2に示した各ステップ処理につい
て、この問題に即して説明する。
Hereinafter, each step processing shown in FIG. 2 will be described in accordance with this problem.

【0078】記憶手段5内には、図6左側図に示されて
いるように、例えば、10都市の番号が、各々ランダム
に並べられた初期親染色体、すなわち、計画案が10個
予め格納されている。
As shown in the left side of FIG. 6, for example, the initial parent chromosome in which the numbers of 10 cities are randomly arranged, that is, 10 plans are stored in the storage means 5 in advance. ing.

【0079】ステップAでは、目的関数、すなわち個体
iに対する巡回経路P(i)の距離の総和F(P
(i))を、次のようにして計算する。
In step A, the objective function, that is, the sum total F (P
(I)) is calculated as follows.

【0080】F(P(i))=ΣDm→m+1(Σは、m
=1から10までの総和をとることを意味する演算子で
ある)ここでi=1とすると、図6を参照して、 P(1)=(1、2、3、4、5、6、7、8、9、1
0) であるから、目的関数は F(P(1))=D12+D23+D34+D45+D56+D67+D78 +D89+D910+D1011 =17+23+27+41+34+45+43+12+22+24 =288 となる。但し、本説明においては計算の都合上、地点
「●」を「11」としている。以下同様に、P(2)か
らP(10)までの目的関数の値、すなわち個体の「評
価値」が得られる。なお、図2では、説明の都合上、P
(1)=24、P(2)=18、…、P(10)=13
の値になったものとしている。
F (P (i)) = ΣDm → m + 1 (Σ is m
= 1 to 10) where i = 1, P (1) = (1, 2, 3, 4, 5, 6 , 7, 8, 9, 1
Since 0), the objective function F (P (1)) = D 1 → 2 + D 2 → 3 + D 3 → 4 + D 4 → 5 + D 5 → 6 + D 6 → 7 + D 7 → 8 + D 8 → 9 + D 9 → the 10 + D 10 → 11 = 17 + 23 + 27 + 41 + 34 + 45 + 43 + 12 + 22 + 24 = 288. However, in this description, for convenience of calculation, the point “●” is set to “11”. Similarly, values of the objective function from P (2) to P (10), that is, the “evaluation value” of the individual are obtained. In FIG. 2, for convenience of explanation, P
(1) = 24, P (2) = 18,..., P (10) = 13
It is assumed that the value of.

【0081】次に、ステップBでは、世代=1の親集合
PS1に含まれる親個体の評価値の下降順に各個体を並
べ替える。この結果、図2に示されるように、記憶手段
内のワークエリア配列a(j)(j=1〜20)のa
(1)〜a(10)に、P(9)、P(3)、P
(7)、P(8)、P(1)、P(2)、P(10)、
P(4)、P(5)、P(6)の順で親個体が配置され
る。
[0081] Next, in step B, sort each individual in descending order of evaluation value of the parent individual to be included in the parent set PS 1 generation = 1. As a result, as shown in FIG. 2, a of the work area array a (j) (j = 1 to 20) in the storage means
P (9), P (3), P
(7), P (8), P (1), P (2), P (10),
Parent individuals are arranged in the order of P (4), P (5), and P (6).

【0082】以上のステップAおよびステップBは、最
適化手順の前処理を行うステップである。
The above steps A and B are steps for performing preprocessing of the optimization procedure.

【0083】次に、ステップC、ステップDのわずか2
種類の処理で、従来の複雑で膨大な手順を要した最適化
処理が、以下の様に極めて短時間内に達成できる。
Next, only two steps C and D
With the types of processing, the conventional optimization processing that requires a complicated and huge procedure can be achieved in an extremely short time as follows.

【0084】なお、図11に、従来の標準的な遺伝的ア
ルゴリズムの処理手順を示した。
FIG. 11 shows a processing procedure of a conventional standard genetic algorithm.

【0085】ここで前記ステップAとステップBは、そ
れぞれ、ステップAGとステップBGに対応している。
従来の方法であると、ステップCG、あるいは、ステッ
プFGにおいて、優性遺伝的進化を模疑するための親個
体選択操作が必要とされ、また、この操作が遺伝的アル
ゴリズムを特徴づけるために必要不可欠なものとされて
きた。
Here, step A and step B correspond to step AG and step BG, respectively.
According to the conventional method, a parent individual selection operation for simulating dominant genetic evolution is required in step CG or step FG, and this operation is indispensable for characterizing a genetic algorithm. It has been assumed that.

【0086】しかしながら、この操作を行うには多くの
処理ステップを要し、遺伝的アルゴリズムの実用化を防
げる大きな要因となっていた。
However, this operation requires many processing steps, which has been a major factor in preventing the practical use of the genetic algorithm.

【0087】そこで、本発明においては、生物進化論を
検討し、情報処理的シミュレーションを膨大に行うこと
で、重要な性質を発見した。この結果、親個体選択操作
と同じ結果を得ながら、その処理ステップ数をゼロ、す
なわち不要とした。
Therefore, in the present invention, an important property was discovered by examining the theory of biological evolution and performing enormous information processing simulations. As a result, while obtaining the same result as the parent individual selection operation, the number of processing steps is zero, that is, unnecessary.

【0088】図7は、上記進化における、淘汰、優性遺
伝における重要な性質の説明図である。
FIG. 7 is an explanatory diagram of important properties in selection and dominant inheritance in the above evolution.

【0089】前述の世代=1の評価値の下降順配列a
(1)〜(10)内の評価値の総和は、図2を参照し
て、 Σa(i)(i=1〜10)=303 である。これを用い、各々の評価値の、上記総和に対す
る比率を計算した結果を、百分率(%)で示してある。
A descending order array a of the evaluation value of the above-mentioned generation = 1
The sum of the evaluation values in (1) to (10) is as follows: Σa (i) (i = 1 to 10) = 303 with reference to FIG. Using this, the result of calculating the ratio of each evaluation value to the above sum is shown in percentage (%).

【0090】図8の右下図は、横軸をa(i)、縦軸を
評価値のap(i)(%)とした、トレンドグラフであ
る。これは、「世代=gn」で定まる指数P(gn)を
有する指数関数に近似しており、 ap(i)=a(i)∧P(gn)+C(gn)
(「∧」は、べき乗を示す)で示すことができる。ここ
で、C(gn)は、世代gnで定まる定数である。
The lower right part of FIG. 8 is a trend graph in which the horizontal axis is a (i) and the vertical axis is ap (i) (%) of the evaluation value. This approximates an exponential function having an index P (gn) determined by “generation = gn”, and ap (i) = a (i) ∧P (gn) + C (gn)
(“∧” indicates a power). Here, C (gn) is a constant determined by the generation gn.

【0091】図8の左下図は、各々の評価値比率(%)
により、各々の個体の「優性度合い」を定めるようにし
た円グラフであり、これを「ルーレットホイール」と称
す。
The lower left part of FIG. 8 shows the ratio (%) of each evaluation value.
Is a pie chart that determines the “degree of dominance” of each individual, and is called a “roulette wheel”.

【0092】優性的な遺伝の仕組みは、「当該個体の属
する環境への適応度が高いものほど、生存率および子孫
保存率が高いこと」であるから、評価値比率(%)が高
いものほど子孫生成の「親」となる確率を高めればよ
い。
The dominant genetic mechanism is that “the higher the adaptability to the environment to which the individual belongs, the higher the survival rate and the preservation rate of offspring”. Therefore, the higher the evaluation value ratio (%), the higher the evaluation value ratio (%). What is necessary is just to raise the probability of becoming a “parent” of descendant generation.

【0093】例えば、図8の左下図のように0.1
(%)を最小目盛とするルーレットホイールを定義し、
「1〜1000」に相当する、一様整乱数を生成し、当
該箇所に対応する個体を親とすればよい。
For example, as shown in the lower left diagram of FIG.
Define a roulette wheel with (%) as the minimum scale,
What is necessary is just to generate a uniform random number corresponding to “1 to 1000”, and set the individual corresponding to the location as a parent.

【0094】図に示す例では、例えば、1回目に生成さ
れた整乱数がi1=88の場合を想定しており、「1か
ら277の範囲」、すなわち27.7(%)範囲内を指
すため、a(1)が「親個体」として選択される。2回
目に発生させた整数の乱数がi2=925である場合
は、a(1)からa(7)までの評価値比率(%)が9
1.7であり、a(8)が3.3(%)であるから、目
盛としては、917〜950の範囲に入るために、a
(8)が「親個体」として選択される。
In the example shown in the drawing, for example, it is assumed that the integer random number generated first time is i1 = 88, and indicates the “range from 1 to 277”, that is, the range of 27.7 (%). Therefore, a (1) is selected as the “parent individual”. If the integer random number generated the second time is i2 = 925, the evaluation value ratio (%) from a (1) to a (7) is 9
Since 1.7 and a (8) are 3.3 (%), the scale falls within the range of 917 to 950, so that a
(8) is selected as the “parent individual”.

【0095】このようにして遺伝操作に必要な親個体数
分の一様な整数の乱数が生成され、ルーレットホイール
を探索し、親個体が決定されてゆく。
In this manner, uniform integer random numbers for the number of parent individuals required for the genetic operation are generated, the roulette wheel is searched, and the parent individuals are determined.

【0096】なお、このようなルーレットホイールを特
別用意しなくても、例えば、目的関数値の大きな(ある
いは、小さな)順番に、計画を並べていき、選択番号を
付しておき、予め人口数個だけ定めてある定数(予め生
成してある乱数)が指し示す計画を選択番号として、親
計画として選択することももちろん可能である。
Note that even if such a roulette wheel is not specially prepared, for example, the plans are arranged in the order of large (or small) objective function values, selection numbers are assigned, and several populations are set in advance. Of course, it is also possible to select a plan indicated by a constant (a random number generated in advance) which is determined only as a selection number and select it as a parent plan.

【0097】図7は、以上の処理を世代1から世代20
まで、ある遺伝的操作を行なった場合の生存個体の評価
値推移を示したものである。左下図により、初期段階の
世代においては、評価値が大きなバラつきを有している
が、世代が進むにつれ、バラツキが小さくなってゆき、
世代=20に至っては、最適値の近傍に収束してゆくこ
とがわかる。
FIG. 7 shows that the above processing is performed from generation 1 to generation 20.
2 shows the transition of the evaluation value of a surviving individual when a certain genetic operation is performed. According to the lower left figure, the evaluation value has a large variation in the initial generation, but as the generation progresses, the variation decreases.
It can be seen that at generation = 20, the value converges near the optimum value.

【0098】図7右下図は、同じデータを評価値比率
(%)で、プロットしたものである。
The lower right part of FIG. 7 is a plot of the same data in the evaluation value ratio (%).

【0099】前述の式、 ap(i)=a(i)∧P(gn)+C(gn)
(「∧」は、べき乗を示す)を満たしていることがわか
る。
The above equation: ap (i) = a (i) ∧P (gn) + C (gn)
(“∧” indicates a power).

【0100】ところで、本実施例の最適化対象である巡
回セールスマン問題において、都市の位置、数を変更
し、統計処理、解析を行なった。この結果、P(gn)
やC(gn)は、初期親個体や、遺伝的操作により影響
を受けるものの、「初期個体のパラメータや遺伝的操作
手順を固定した場合には、同一となる」ことがわかっ
た。
By the way, in the traveling salesman problem to be optimized in this embodiment, the position and number of cities were changed, and statistical processing and analysis were performed. As a result, P (gn)
And C (gn) are affected by the initial parent individual and the genetic operation, but are found to be "the same when the parameters and genetic operation procedure of the initial individual are fixed".

【0101】すなわち、「最適化対象と遺伝的操作が定
まれば、世代毎に優性的に選択される親は、評価値順位
によって定まっていること」を示している。つまり、ル
ーレットホィール作成処理や、一様乱数の生成は、計画
過程でその都度行なう必要はなく、それらの値は、予め
定めておくことができることを意味する。すなわち、こ
れらの値は、予め定めて記憶手段に格納しておけば良
い。
In other words, it indicates that "if the optimization target and the genetic operation are determined, the parent which is dominantly selected for each generation is determined by the evaluation value rank." That is, it is not necessary to perform the roulette wheel creation processing and the generation of uniform random numbers each time during the planning process, and these values can be determined in advance. That is, these values may be determined in advance and stored in the storage unit.

【0102】さて、図8の選択個体定数P(gn,p
p)(P(gn,pp)は、世代gn、処理回数pp時
の選択個体定数を示す。また、gnは、世代=1〜2
0、ppは、処理回数ポインタ=1〜10)は、記憶手
段5に確保されている。図8に示す様に、図7の世代毎
のルーレットホイールのセレクション比によって作成さ
れる、ルーレットに対し、本例では、10個の一様乱数
を予め作成しておき、次世代における評価値順位をPに
格納するようにした。すなわち、世代ごとに、予め定め
ておいた定数に従って、子計画生成のもとになる親計画
を選択するのである。
Now, the selected individual constant P (gn, p
p) (P (gn, pp) indicates a generation gn and a selected individual constant at the time of processing pp. gn is generation = 1 to 2
0, pp are the processing number pointers = 1 to 10) are secured in the storage means 5. As shown in FIG. 8, in this example, ten uniform random numbers are created in advance in the roulette wheel created by the selection ratio of the roulette wheel for each generation in FIG. Is stored in P. That is, for each generation, a parent plan from which a child plan is generated is selected in accordance with a predetermined constant.

【0103】これらの値は、対象計画、目的関数等が同
一である限り変更する必要はない。
These values need not be changed as long as the target plan, the objective function, and the like are the same.

【0104】次に、図2のステップCにおける処理につ
いて説明する。ステップCの処理は、世代gn毎に、人
口数であるpp(回)行なわれる。本実施例では、人口
=10であるので、10回の処理が行なわれる。
Next, the processing in step C of FIG. 2 will be described. The process of step C is performed for each generation gn, that is, pp (times), which is the population number. In this embodiment, since the population is 10, the processing is performed 10 times.

【0105】さて、遺伝的操作(オペレータ)には、種
々のものが存在しているが、大きくは、「交配(クロス
オーバー)」、「突然変異(ミューテーション)」、
「逆位(インバージョン)」に分類することができる。
There are various types of genetic operations (operators), and they are mainly described as “crossing”, “mutation”, and “mutation”.
It can be classified as "inversion".

【0106】「交配」は、少なくとも2個以上の親個体
に対し行なわれるもので、各々の親個体の特徴を有する
子個体を生成するものである。
“Mating” is performed for at least two or more parent individuals, and generates a child individual having the characteristics of each parent individual.

【0107】本方法は、優性的な親個体同志の性質を効
果的に引継ぐために、非常に少ない個体数に対する遺伝
的操作により、ある程度の良い評価値を有する個体を生
成する特徴を有する反面、評価値を向上させる要素が同
一環境内での限られた親個体同志の性質に限定されるた
め、一定の評価値に達した後は、評価値が改善されなく
なるという欠点も有する。また、交配操作が複雑で、か
つ、その評価は全ての要素について毎回行なわねばなら
ないため、1回の交配操作および評価には多くの処理ス
テップが不可欠である。
The present method has a feature that an individual having a certain good evaluation value is generated by a genetic operation on a very small number of individuals in order to effectively inherit the properties of a dominant parent individual. Since the element for improving the value is limited to the property of the limited parent and individual in the same environment, there is also a disadvantage that the evaluation value is not improved after reaching a certain evaluation value. Further, since the mating operation is complicated and its evaluation must be performed for every element, many processing steps are indispensable for one mating operation and evaluation.

【0108】したがって、比較的短時間で、ほどほどの
最適性を有する計画を立案する場合は、実用化の余地は
あるものの、実際は、他の遺伝的操作と組み合わせた
り、あるいは、他の最適化手段における、初期状態の生
成処理にのみに使用されることが多い。
Therefore, when a plan having a moderate degree of optimality is prepared in a relatively short time, there is room for practical use, but in practice, it is combined with other genetic operations or other optimization means. Is often used only for the initial state generation process.

【0109】一方、「突然変異」と「逆位」は、1個の
親個体の一部、あるいは、親個体における遺伝子(計画
対象となる要素に相当する)の並びを変更する操作であ
り、交配と異なり、可能解全てを探索できるが、初期個
体の評価値のバラツキにより、最適解への収束速度がバ
ラつくという欠点がある。
On the other hand, “mutation” and “inversion” are operations for changing a part of one parent individual or an arrangement of genes (corresponding to elements to be planned) in the parent individual. Unlike mating, all possible solutions can be searched for, but there is a disadvantage that the convergence speed to the optimal solution varies due to the variation in the evaluation value of the initial individual.

【0110】本発明では、現実の問題を高速に解決する
ことが目的であるため、以下の様な手段を使用した。な
お、以下の遺伝的操作は、突然変異の一種と考えられる
が、逆位操作でも全く同一の考え方で、遺伝的操作を行
うことができる。
Since the object of the present invention is to solve an actual problem at a high speed, the following means are used. The following genetic operation is considered to be a kind of mutation, but the genetic operation can be performed in exactly the same way in the inversion operation.

【0111】図5は、図2におけるステップCの処理
を、巡回セールスマン問題に適応した場合について説明
したものである。
FIG. 5 illustrates a case where the process of step C in FIG. 2 is adapted to the traveling salesman problem.

【0112】前述した方法によって選択された親個体P
(1)は、 P(1)=(1,2,3,4,5,6,7,8,9,1
0) であり、この時の評価値は前述のとおり、F(P
(1))=288 である。
The parent individual P selected by the method described above
(1) is P (1) = (1,2,3,4,5,6,7,8,9,1)
0), and the evaluation value at this time is F (P
(1)) = 288.

【0113】次に、1から10の範囲で一様に分布する
2種の整数乱数J、Kを生成する。
Next, two kinds of integer random numbers J and K uniformly distributed in the range of 1 to 10 are generated.

【0114】この時、J≠Kとする。At this time, J ≠ K.

【0115】次に、P(1)の要素並びのうち、J番目
とK番目を入れ替えて、新たに子個体C(1)を生成す
る。今、J=3、K=8として、 C(1)=(1,2,8,4,5,6,7,3,9,1
0) このC(1)の評価は、 C(1)=D12+D28+D84+D45+D56+D67+ D73+D39+D910+D1011 =17+45+24+41+34+45+32+27+22+24 =311 となる。ここでは、子個体の評価は、巡回都市間の全て
の経路の距離を積算して得る方法で説明する。
Next, the J-th element and the K-th element in the element array of P (1) are exchanged, and a new child individual C (1) is generated. Now, assuming that J = 3 and K = 8, C (1) = (1, 2, 8, 4, 5, 6, 7, 3, 9, 1)
0) Evaluation of the C (1) is, C (1) = D 1 → 2 + D 2 → 8 + D 8 → 4 + D 4 → 5 + D 5 → 6 + D 6 → 7 + D 7 → 3 + D 3 → 9 + D 9 → the 10 + D 10 → 11 = 17 + 45 + 24 + 41 + 34 + 45 + 32 + 27 + 22 + 24 = 311. Here, the evaluation of the child individual will be described by a method of accumulating the distances of all the routes between the traveling cities.

【0116】さて、本発明における第2の工夫点は、こ
の評価処理に要するステップを、「計画対象要素数nに
依存せずに定める様にした点」にある。
A second device in the present invention lies in that the steps required for this evaluation process are determined without depending on the number n of planning target elements.

【0117】上記説明では、積算処理は、少なくともn
回必要であるから、地点数が10,000点になると、
子個体が生成される都度、10,000回以上の計算が
必要となる。
In the above description, the integration processing is performed at least for n
Because the number of points is 10,000 points,
Each time a child individual is generated, 10,000 or more calculations are required.

【0118】しかしながら、図5を見ると分かるよう
に、突然変異操作を行なったことによる変異個所は、2
ヶ所だけであるから、C(1)の評価値を得るには、全
ての経路を積算する必要はなく、P(1)に対して変化
があった経路についてのみ、再計算すればよいことがわ
かる。すなわち、 F(C(1))=F(P(1))−Σ(削除された経路の距離) +Σ(加えられた経路の距離) =F(P(1))−(D23+D34+D78+D89) +(D28+D84+D73+D39) =288−(23+27+43+12) +(45+24+32+27) =288−105+128 =311 となる。すなわちキャンセルされる余分な計算は行わな
いようにした。
However, as can be seen from FIG. 5, there are two mutated points due to the mutation operation.
In order to obtain the evaluation value of C (1), it is not necessary to add up all the routes, and only the route that has changed from P (1) needs to be recalculated. Understand. That is, F (C (1)) = F (P (1)) − Σ (distance of the deleted path) + Σ (distance of the added path) = F (P (1)) − (D 23 a + D 3 → 4 + D 7 → 8 + D 8 → 9) + (D 2 → 8 + D 8 → 4 + D 7 → 3 + D 3 → 9) = 288- (23 + 27 + 43 + 12) + (45 + 24 + 32 + 27) = 288-105 + 128 = 311 . That is, extra calculations to be canceled are not performed.

【0119】以上の処理を、図8に示す実際の記憶手段
5内に予め設定されている突然変異定数J(gn,p
p),K(gn,pp)を用いて説明する。J(gn,
pp),K(gn,pp)はそれぞれ、世代gn(gn
は、世代ポインター)における、pp番目の(ppは、
突然変異操作回数(突然変異率))突然変異定数であ
る。
The above processing is performed by setting the mutation constant J (gn, p) preset in the actual storage means 5 shown in FIG.
This will be described using p) and K (gn, pp). J (gn,
pp) and K (gn, pp) are the generations gn (gn
Is the ppth (pp is the generation pointer)
The number of mutation operations (mutation rate) is a mutation constant.

【0120】前記方法にて、親個体P(gn,pp)が
選択されており、その評価値F(P(gn,pp))
は、得られている。ここで j=J(gn,pp) k=K(gn,pp) とすると、P(gn,pp)から生成される子個体C
(gn,pp)の評価値は、F(C(gn,pp))=F
(P(gn,pp))−(Dj-1→j+Dj→j+1+Dk-1→k+
Dk→k+1)+(Dj-1→k+Dk→j+1+Dk-1→j+Dj→k+
1) となり、最適化対象数nに依存せず、8回の加算、減算
処理を行なうのみで、目的関数の値が演算されることが
わかる。
In the above method, the parent individual P (gn, pp) has been selected and its evaluation value F (P (gn, pp))
Has been obtained. Here, if j = J (gn, pp) and k = K (gn, pp), a child C generated from P (gn, pp)
The evaluation value of (gn, pp) is F (C (gn, pp)) = F
(P (gn, pp))-(Dj-1 → j + Dj → j + 1 + Dk-1 → k +
Dk → k + 1) + (Dj−1 → k + Dk → j + 1 + Dk−1 → j + Dj → k +
1) It can be seen that the value of the objective function is calculated only by performing the addition and subtraction processes eight times without depending on the optimization target number n.

【0121】なお、「逆位」の場合は、変更個所が1ヶ所
となり、上記と同様の考え方を行なうと、4回の加算、
減算を行なうのみでよい。
In the case of "inversion", only one change is made, and if the same idea as described above is applied, four additions,
It is only necessary to perform the subtraction.

【0122】図6は、J、Kを使用して、上記遺伝的操
作を行なった場合に増殖された子個体の染色体(子染色
体)を示している。
FIG. 6 shows the chromosomes (child chromosomes) of the offspring which were multiplied when the above genetic manipulation was performed using J and K.

【0123】各々の個体の評価は上述の通り、染色体の
要素の数に関わらず一定の処理ステップ、すなわち一定
の処理時間で、極めて高速に行なわれる。
As described above, the evaluation of each individual is performed at a very high speed in a certain processing step, that is, in a certain processing time regardless of the number of chromosome elements.

【0124】次に、ステップDは、世代gnの推移毎に
行なわれ、前記親個体群と子個体群の各々の評価値の下
降順に、個体の並び替えを行い、人口数分だけ個体を選
び出す。これは、すなわち、世代「gn+1」の親個体
集合の生成にほかならない。
Next, Step D is performed for each transition of the generation gn. Individuals are rearranged in the descending order of the evaluation values of the parent individual group and the child individual group, and individuals are selected by the number of populations. . This is nothing but generation of a parent individual set of the generation “gn + 1”.

【0125】かかる処理のためのステップ数は、バケッ
トソート等を使用することにより、多くとも、C×n
(回)以下で行なうことができることは言うまでもな
い。
The number of steps for such processing can be at most C × n by using bucket sorting or the like.
(Times) It goes without saying that it can be performed in the following.

【0126】このようにして、本実施例では、世代=2
0までの処理が終了した時点で、生成されている親個体
集合のうち、最も大きい評価値を有する個体、すなわち
計画案を最適解として出力する。CRT等の表示手段へ
の出力により、処理結果を随時観測できる。
Thus, in this embodiment, generation = 2
When the processing up to 0 is completed, the individual having the largest evaluation value among the generated parent individual sets, that is, the plan is output as the optimal solution. By outputting to a display means such as a CRT, the processing result can be observed at any time.

【0127】図9は、計画対象要素数を、「100」と
した場合の処理パフォーマンス実験の結果を示したもの
である。
FIG. 9 shows the results of a processing performance experiment when the number of elements to be planned is "100".

【0128】予め最適値が「100.0」であることが
わかっている問題に対し、処理能力が100(MIP
S)(1秒間に108回の演算を行ない得る)であるコ
ンピューターを使用して最適化を行なった結果を、横軸
に処理時間、縦軸に評価値の全個体平均値を定義し、時
間推移に対する評価値推移の様子をプロットした。
For the problem that the optimum value is known to be “100.0” in advance, the processing capacity is 100 (MIP
S) (Computation that can be performed 10 8 times per second) is performed by using a computer. The horizontal axis represents the processing time, and the vertical axis represents the average value of all the individual evaluation values. The state of the evaluation value transition with respect to the time transition is plotted.

【0129】なお、最適化のための手段としては、本発
明の他に、従来の標準的な遺伝的アルゴリズムと、ラン
ダムに計画を変化させて最適値に近い計画を最適化候補
として残してゆく、列挙法(ランダムサーチ法)をとり
あげて比較を行っている。
As means for optimizing, in addition to the present invention, a conventional standard genetic algorithm and a plan close to the optimum value by changing the plan randomly are left as optimization candidates. And the enumeration method (random search method).

【0130】最適化対象数がn=100であるから、所
望の最適性、例えば最適解の99.0(%)以上の評価
値を有する解を得るために必要な本発明でのnに対する
処理回数オーダーは、前述の通り、O(n)を処理オー
ダとすると、 O(n)=C1×n2 である。ここで、C1は、1回の突然変異や繰り返し処
理に要するコンピューターの処理ステップ数であり、本
実施例においてはC1=104と定める。
Since the number of objects to be optimized is n = 100, the processing for n in the present invention required to obtain a solution having a desired optimality, for example, an evaluation value of 99.0 (%) or more of the optimal solution. As described above, when the processing order is O (n), the number of times is O (n) = C1 × n 2 . Here, C1 is the number of processing steps of the computer required for one mutation or repetition processing, and is set to C1 = 10 4 in this embodiment.

【0131】一方、図11に処理手順を示した従来の標
準的な遺伝的アルゴリズムは、世代の繰り返し、人口数
の繰り返しという二乗の繰り返し処理のループ内にn2
〜n3(回)の処理ステップが必要な、交配、評価等の
処理を含んでいるので、nに対する処理回数オーダー
は、 O(n)=C2×n4 となる。ここで、C2=C1=104とする。
On the other hand, the conventional standard genetic algorithm whose processing procedure is shown in FIG. 11 has n 2 within a loop of a square repetition processing of repetition of generation and repetition of population.
Since the processing includes mating, evaluation, and the like, which require up to n 3 (times) processing steps, the number of processing times for n is O (n) = C2 × n 4 . Here, it is assumed that C2 = C1 = 10 4 .

【0132】列挙法(ランダムサーチ法)の場合は、サ
ーチの方法にも依存するが、最適解、または、定められ
た最適性を有する解を得るまでの現実的な有限処理回
数、処理時間は、どの程度になるか全く保証されない。
In the case of the enumeration method (random search method), although it depends on the search method, the realistic number of finite processes and the processing time required to obtain an optimal solution or a solution having a predetermined optimality are as follows. , There is no guarantee how much.

【0133】以上の前提のもとに、各々の方法で計画立
案を行なうと、図9に示すように、本発明では、わずか
1秒程度で解が得られるのに対し、従来の遺伝的アルゴ
リズムでは、同程度の解を得るのに、10,000
(秒)の処理時間を要している。本条件下では、列挙法
(ランダムサーチ法)による処理では、所望の最適性を
有する解を、実用的な有限時間内に求めるのは極めて難
しいことがわかる。
Under the above assumptions, when planning is performed by each method, as shown in FIG. 9, in the present invention, a solution can be obtained in only about 1 second. So, to get the same solution, 10,000
(Seconds) processing time is required. Under these conditions, it can be seen that it is extremely difficult to find a solution having the desired optimality within a practical finite time by the processing based on the enumeration method (random search method).

【0134】一方、図10は、準最適解を得るまでの時
間を、計画対象数nを横軸にとりプロットしたものであ
る。
On the other hand, FIG. 10 is a graph in which the time until a sub-optimal solution is obtained is plotted with the number n of planned objects plotted on the horizontal axis.

【0135】従来の遺伝的アルゴリズムでは、n(計画
対象となる計画の構成要素数)が100で、10,00
0(秒)の処理時間を要してしまい、それ以上nの大き
な問題に対しては、有効な解を得ることは困難であるこ
とがわかる。
In the conventional genetic algorithm, n (the number of components of the plan to be planned) is 100 and 10,000
It takes a processing time of 0 (second), and it can be seen that it is difficult to obtain an effective solution for a large problem with n more than that.

【0136】これに対し、本発明によれば、100(M
IPS)程度の小型のコンピュータを使用しても、1
0,000(秒)≒3(時間)以下の処理時間内に解が
求まることになる。
On the other hand, according to the present invention, 100 (M
IPS), it is possible to use 1
A solution will be obtained within a processing time of 0000 (seconds) / 3 (time) or less.

【0137】さらに、10(TMIPS)(テラミップ
ス=1秒間に1010回の演算を行なうことを意味する)
の演算速度を有する高速コンピュータを使用すると、同
様なnに対し、 (処理時間(秒))=(最適化に要する処理ステップ数)/(1秒間で実行可 能な処理ステップ) =(C1×n2)/(10(TMIPS)) =(103×(10000)2)/(1010) =1011/1010 =10(秒) で計画立案が可能である。
Further, 10 (TMIPS) (TeraMips = means to perform 10 10 operations per second)
When using a high-speed computer having the following calculation speed, (processing time (seconds)) = (number of processing steps required for optimization) / (processing steps executable in one second) = (C1 × n 2) / (10 (TMIPS )) = (10 3 × (10000) 2) / (10 10) is a = 10 11/10 can planning at 10 = 10 (seconds).

【0138】逆に、10000(秒)の時間が与えられ
た場合、上式を変形して計画可能な計画対象の要素数n
を計算すると、 n=√((処理時間(秒))×(10(TMIPS))/C1) =√(104×1010/104) =√(1010)=105 となる。
Conversely, if a time of 10,000 (seconds) is given, the above equation is transformed to the
Calculating the, the n = √ ((processing time (sec)) × (10 (TMIPS) ) / C1) = √ (10 4 × 10 10/10 4) = √ (10 10) = 10 5.

【0139】すなわち、3時間で、実に、計画要素数が
10万個の計画の立案等が可能となる。これは、例え
ば、電子基板上のパターン設計等の極めて難しい計画問
題にも、本発明による方法は対応し得る性能を有してい
ることを示す。
That is, in three hours, it is possible to actually make a plan having 100,000 plan elements. This indicates that the method according to the present invention has the capability to cope with extremely difficult planning problems such as, for example, pattern design on an electronic substrate.

【0140】図12に、極めてニーズの多い、製造業に
おける生産計画の最適化問題に、本発明を応用した例を
示す。
FIG. 12 shows an example in which the present invention is applied to a problem of optimizing a production plan in the manufacturing industry, which is in great need.

【0141】本実施例では、製造設備Aにて6種類の作
業〜を効率良く行なう計画を立案する問題例であ
る。設備が1台のため、作業の移行時には、冶具の交
換、清掃、NC加工パラメータの設定等の、図に示す段
取り時間が必要となる。
The present embodiment is an example of a problem in which a plan for efficiently performing six types of operations 1 to 6 in the manufacturing facility A is prepared. Since there is only one facility, a setup time shown in the drawing is required for changing the jig, cleaning, setting of NC processing parameters, and the like at the time of work transfer.

【0142】この計画は、前記「巡回セールスマン問
題」と対応づけて検討すると作業を巡回地点に、段取り
時間を、巡回地点間の距離に対応させ、目的関数として
総作業時間をとり、これを最小(あるいは最大)とする
こととすると同一となる。
When this plan is examined in association with the "traveling salesman problem", the work is made to correspond to the traveling points, the setup time is made to correspond to the distance between the traveling points, and the total work time is taken as the objective function. It is the same as minimizing (or maximizing).

【0143】前述の実施例では、目的関数値の最大を求
めるものとしたが、最小とする場合は、ルーレットホィ
ールテーブル値の比率を逆数とし、並べ替えの方向を下
降順から、上昇順とすれば簡単に対処可能なことは言う
までもない。
In the above-described embodiment, the maximum of the objective function value is determined. However, when the objective function value is minimum, the ratio of the roulette wheel table value is set to the reciprocal, and the sorting direction is changed from descending order to ascending order. Needless to say, it can be easily handled.

【0144】これにより、前述の「巡回セールスマン問
題」に、1対1に対応することとなる。これはさらに、
総段取り時間を最小にすることと等価であり、初期親個
体のうち、最良の評価値を有する親個体P(1)の総段
取り時間が「77(分)」であったものが、本発明にか
かる装置によって「39(分)」となり、50(%)
も、総作業時間が短縮されることになる。
As a result, the "traveling salesman problem" described above corresponds one-to-one. This further
This is equivalent to minimizing the total setup time, and the initial setup time of the parent individual P (1) having the best evaluation value among the initial parent individuals is “77 (minutes)”. "39 (minutes)" by the device according to (5) and 50 (%)
However, the total working time is reduced.

【0145】実際の大規模な工場に配置される設備数
は、数百、作業数は、1ヶ月で数千〜数万におよぶが、
図10によれば、極めて短時間に、現実的な最適解が得
られることを示しており、製造業の規模が大きくなれば
なるほど、本発明は、その効果を発揮するものと考えら
れる。
The number of facilities actually arranged in a large-scale factory is hundreds, and the number of operations ranges from thousands to tens of thousands per month.
FIG. 10 shows that a realistic optimal solution can be obtained in a very short time, and it is considered that the present invention exerts its effect as the scale of the manufacturing industry increases.

【0146】本実施例と同様な問題としては、(1)配
送計画(例えば、配送車を使用して、所定の配送点をす
べて通り、商品を配送する際に、配送にかかる時間であ
る全配送時間を最小にする問題)、(2)配車計画(例
えば、ある地点に複数台保有している車両の配車を行う
際に、所定地点への配車がすべて完了するまでの時間を
最短にする問題)、(3)製鉄における圧延計画(例え
ば、複数存在する圧延工程を考慮して、各工程における
段取り時間を最小にする問題)、(4)自動倉庫の入出
庫計画(例えば、スタッカークレーン等で、荷物等の
入、出庫を行う際の、前記クレーンの移動距離の総和を
最小にする問題)、(5)材料取り計画(例えば、与え
られた材料から所定のパターンを取る場合において、材
料の残量を最小にする計画問題等(材料、パターンの形
状は、平面、立体等である))等、各種の計画立案への
適用が考えられる。
The same problems as those in this embodiment include the following problems. (1) Delivery plan (for example, the time required for delivery when a product is delivered through all predetermined delivery points using a delivery vehicle). Problem of minimizing delivery time), (2) vehicle allocation plan (for example, when allocating vehicles having a plurality of vehicles at a certain point, minimize the time until all vehicles have been allocated to a predetermined point) Problem), (3) Rolling plan in iron making (for example, problem of minimizing setup time in each process in consideration of a plurality of rolling processes), (4) Storage and retrieval plan of automatic warehouse (for example, stacker crane, etc.) The problem of minimizing the sum of the moving distances of the crane when loading and unloading luggage, etc.), (5) Material removal plan (for example, when taking a predetermined pattern from a given material, Minimize remaining Programming problem like (material, the pattern shape of the plane, a three-dimensional, etc.)), etc., applicable to various planning are considered.

【0147】図13に、本発明にかかるハードウェア構
成の実施例を示す。
FIG. 13 shows an embodiment of the hardware configuration according to the present invention.

【0148】本実施例は、計画問題解決のための一連の
処理の流れを制御する制御プロセッサ11と、加減乗除
等の演算を行なう演算プロセッサ12と、最大人口数分
用意され、突然変異操作および評価を複数の親個体に対
し、同時に行なう並列処理機構13と、前記P、J、K
等の定数を格納する記憶レジスタ14を有して構成さ
れ、これらの構成要素は、バスライン15により接続さ
れている。
In this embodiment, a control processor 11 for controlling the flow of a series of processes for solving a planning problem, an arithmetic processor 12 for performing operations such as addition, subtraction, multiplication and division, and a maximum number of populations are prepared. A parallel processing mechanism 13 for simultaneously evaluating a plurality of parent individuals;
And the like, and have a storage register 14 for storing constants and the like, and these components are connected by a bus line 15.

【0149】制御プロセッサ11、演算プロセッサ1
2、並列処理機構13は、例えばCPU、ROM、RA
M、各種CMOS、TTL、ROMに内蔵されるプログ
ラム等により実現される。また、記憶レジスタ7は、例
えばRAMにより実現される。
Control processor 11, arithmetic processor 1
2. The parallel processing mechanism 13 includes, for example, a CPU, ROM, RA
M, various types of CMOS, TTL, a program built in ROM, and the like. The storage register 7 is realized by, for example, a RAM.

【0150】したがって、従来の直列処理型プロセッサ
に、本発明による装置をサブCPU(処理装置)として
組込み構成し、膨大な組み合わせ数、または、順列数の
中から最適値を与える順列の順番、組合せパターンを求
める計画問題の解決が必要な場合に、サブCPUを起動
し、問題解決処理を行なわせる様にする。
Therefore, the apparatus according to the present invention is incorporated in a conventional serial processing type processor as a sub CPU (processing apparatus), and the number of combinations or the number of permutations giving the optimum value out of the number of permutations is determined. When it is necessary to solve a planning problem for obtaining a pattern, the sub CPU is activated to perform a problem solving process.

【0151】これにより、前記計画問題の解決における
処理性能が一段と向上することになる。
Thus, the processing performance in solving the planning problem is further improved.

【0152】[0152]

【発明の効果】本発明によれば、簡単な構成によって、
与えられた問題に対する最適な計画立案を高速に行なう
手段を提供できる効果がある。
According to the present invention, with a simple structure,
This has the effect of providing a means for quickly creating an optimal plan for a given problem.

【図面の簡単な説明】[Brief description of the drawings]

【図1】最適化装置の構成図である。FIG. 1 is a configuration diagram of an optimization device.

【図2】最適化手段の処理手順の説明図である。FIG. 2 is an explanatory diagram of a processing procedure of an optimization unit.

【図3】計画対象情報の設定例を示す説明図である。FIG. 3 is an explanatory diagram illustrating a setting example of planning target information;

【図4】巡回セールスマン問題における都市間の距離情
報の設定例を示す説明図である。
FIG. 4 is an explanatory diagram showing an example of setting distance information between cities in the traveling salesman problem.

【図5】突然変異操作と高速評価方法の説明図である。FIG. 5 is an explanatory diagram of a mutation operation and a high-speed evaluation method.

【図6】突然変異操作による一倍体増殖の説明図であ
る。
FIG. 6 is an explanatory diagram of haploid growth by a mutation operation.

【図7】淘汰、優性遺伝における法則性についての説明
図である。
FIG. 7 is an explanatory diagram of rules in selection and dominant inheritance.

【図8】自然法則の定量化による超高速処理についての
説明図である。
FIG. 8 is an explanatory diagram of ultra-high-speed processing by quantification of the law of nature.

【図9】評価値と処理時間とを表す説明図である。FIG. 9 is an explanatory diagram showing an evaluation value and a processing time.

【図10】処理時間と計画対象要素数を表す説明図であ
る。
FIG. 10 is an explanatory diagram showing a processing time and the number of planning target elements.

【図11】従来の遺伝的アルゴリズムの処理手順の説明
図である。
FIG. 11 is an explanatory diagram of a processing procedure of a conventional genetic algorithm.

【図12】生産計画システムへの応用例の説明図であ
る。
FIG. 12 is an explanatory diagram of an application example to a production planning system.

【図13】本発明にかかるハードウェアの構成図であ
る。
FIG. 13 is a configuration diagram of hardware according to the present invention.

【符号の説明】[Explanation of symbols]

1…遺伝的計画立案装置、2…最適化手段、3…設定手
段、4…表示手段、5…記憶手段、11…制御プロセッ
サ、12…演算プロセッサ、13…並列処理機構、14
…記憶レジスタ
DESCRIPTION OF SYMBOLS 1 ... Genetic planning device, 2 ... Optimization means, 3 ... Setting means, 4 ... Display means, 5 ... Storage means, 11 ... Control processor, 12 ... Operation processor, 13 ... Parallel processing mechanism, 14
… Storage register

───────────────────────────────────────────────────── フロントページの続き (72)発明者 鬼澤 均 茨城県日立市幸町三丁目2番1号 日立 エンジニアリング株式会社内 (56)参考文献 特開 平6−223050(JP,A) 特開 昭63−58569(JP,A) 神近博三,低成長時代の主役に躍り出 たスケジューリング・システム,日経コ ンピュータ,日経BP社,1993年 7月 26日,No.315,pp.73−82 澤部直太 外3名,遺伝的アルゴリズ ムによるソフトウエア開発計画の立案, 電子情報通信学会技術研究報告 KBS E93−1〜4,社団法人電子情報通信学 会,1993年 5月19日,Vol.93,N o.30,pp.25−32 (58)調査した分野(Int.Cl.7,DB名) G06F 19/00 G06F 17/60 G06N 3/00 JICSTファイル(JOIS)──────────────────────────────────────────────────続 き Continuation of the front page (72) Inventor Hitoshi Onizawa 3-2-1, Sachimachi, Hitachi City, Ibaraki Prefecture Within Hitachi Engineering Co., Ltd. (56) References JP-A-6-223050 (JP, A) JP-A Sho 63-58569 (JP, A) Hirozo Kamichika, Scheduling system that has taken the lead in the low-growth era, Nikkei Computer, Nikkei BP, July 26, 1993, 315, pp. 73-82 Naota Sawabe, 3 other members, drafting a software development plan using genetic algorithm, IEICE technical report KBS E93-1-4, IEICE, May 19, 1993 , Vol. 93, No. 30, pp. 25-32 (58) Fields investigated (Int. Cl. 7 , DB name) G06F 19/00 G06F 17/60 G06N 3/00 JICST file (JOIS)

Claims (7)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】与えられた計画対象となる問題、および該
問題の解決に必要な変数の値受け付ける設定手段と、
前記計画対象となる問題において、最小化または最大化
を図る項目を表す目的関数を作成し、作成された目的関
数の値を最小化または最大化する計画を立案する最適化
手段と、計画立案に必要な変数記憶する記憶手段とを
備え、 前記最適化手段は、 第一世代の親計画を所定数(人口数)だけ生成する初期
計画生成手段と、計画案に対応して、その目的関数の値
を計算する演算手段と、複数の計画案を前記目的関数値
の下降順あるいは上昇順に並べる計画並べ替え手段と、
複数の計画案が与えられた場合であって、目的関数値に
したがって各計画案の選択番号が割り当てられていると
き、世代の繰り返し毎に予め定められている所定数個
(人口数)の定数であって、該定数が指し示す番号を前
記選択番号として親計画案を所定数(人口数)だけ選択
する親計画選択手段と、選択された親計画に対して、任
意の2個の要素を入れ替え、子計画を生成する子計画生
成手段と、親計画と生成された子計画に対して、前記演
算手段および計画並べ替え手段を起動させる制御手段
と、並べ替えされた計画のうち、並び替え順に従って人
口数分だけの計画を新たな親計画として選択する世代交
代手段と、第二世代から予め定められた世代数まで、前
記親計画選択手段、子計画生成手段、制御手段および世
代交代手段を繰返し起動させ、目的関数値を、最大また
は最小にする計画を選び出す最適計画選出手段と、 を備えることを特徴とする計画立案装置。
1. A setting means for receiving a given problem to be planned and values of variables required for solving the problem.
In the problem to be planned, create an objective function representing an item to be minimized or maximized, and optimizer for planning a plan for minimizing or maximizing the value of the created objective function, and Storage means for storing necessary variables, wherein the optimizing means comprises: an initial plan generating means for generating a predetermined number (population number) of first generation parent plans; and an objective function corresponding to the plan. Calculation means for calculating the value of, a plan rearrangement means for arranging a plurality of plans in descending or ascending order of the objective function value,
When a plurality of plans are given and a selection number of each plan is assigned in accordance with the objective function value, a predetermined number (population number) of constants predetermined for each repetition of generations A parent plan selecting means for selecting a predetermined number (population number) of parent plan plans using the number indicated by the constant as the selection number, and replacing any two elements with the selected parent plan. A child plan generating means for generating a child plan, a control means for activating the arithmetic means and the plan rearranging means for the parent plan and the generated child plan, and a rearranging order among the rearranged plans. Generation change means for selecting a plan only for the number of populations as a new parent plan in accordance with the above, and the parent plan selection means, child plan generation means, control means and generation replacement means from the second generation to a predetermined number of generations. Recurring Is allowed, planning apparatus, characterized in that it comprises an objective function value, and the optimal plan selection means of selecting the plan to the maximum or minimum, the.
【請求項2】請求項1記載の計画立案装置において、 前記親計画選択手段は、複数の計画案が与えられた場
合、各計画案に対する目的関数値の、各計画案に対する
目的関数値の総和に対する比率順によって、各計画案の
選択番号が割り当てられると想定したとき、世代の繰り
返し毎に予め定められている所定数個(人口数)の定数
であって、該定数が指し示す番号を前記選択番号として
親計画案を所定数(人口数)だけ選択することを特徴と
する計画立案装置。
2. The planning apparatus according to claim 1, wherein, when a plurality of plans are given, the parent plan selecting means sums up objective function values for each plan and objective function values for each plan. When it is assumed that the selection number of each plan is assigned according to the order of the ratios, a predetermined number (population number) of constants predetermined for each generation repetition, and the number indicated by the constant is selected. A planning apparatus wherein a predetermined number (population number) of parent plans are selected as numbers.
【請求項3】請求項1記載の計画立案装置において、 前記子計画生成手段は、選択された親計画に対して、親
計画要素数の範囲内で一様に分布する乱数を2個生成
し、乱数で指定された順番に配置する2個の要素を入れ
替え、子計画を生成することを特徴とする計画立案装
置。
3. The planning device according to claim 1, wherein the child plan generating means generates two random numbers uniformly distributed within the range of the number of parent plan elements for the selected parent plan. A two-element arrangement arranged in the order specified by a random number is exchanged to generate a child plan.
【請求項4】請求項1記載の計画立案装置において、 前記演算手段は、与えられた計画案に対する目的関数値
を演算する際、計画要素の変更に伴う目的関数の変化分
のみを演算し、変更前の目的関数値に、前記変化分を加
算することを特徴とする計画立案装置。
4. The planning device according to claim 1, wherein the calculating means calculates only a change in the objective function due to a change in the planning element when calculating the objective function value for the given plan. A planning device, wherein the change is added to an objective function value before change.
【請求項5】請求項1記載の計画立案装置において、 さらに表示手段を備え、該表示手段は、前記最適計画選
出手段が選び出した計画を表示することを特徴とする計
画立案装置。
5. The planning device according to claim 1, further comprising display means, wherein said display means displays the plan selected by said optimum plan selection means.
【請求項6】請求項1記載の計画立案装置において、 前記記憶手段は、 前記世代の繰り返し毎に予め定められている所定数個
(人口数)の定数をP(gn,pp)、前記子計画を生
成するときに使用する乱数をJ(gn,pp),K(g
n,pp)として、(ただし、gnは世代、ppは世代
毎の処理回数を表し、X(gn,pp)は、世代gnに
おけるpp番目の処理時における数を表し、X=P,
J,Kである)、 1≦P(gn,pp)≦pmax(pmaxは、人口
数)なる範囲で一様分布するP(gn,pp)、およ
び、 J(gn,pp)≠K(gn,pp)、かつ、1≦J
(gn,pp)≦n,1≦K(gn,pp)≦n(n
は、計画を構成する要素数)なる範囲で一様分布するJ
(gn,pp)、K(gn,pp)を、予め格納するこ
とを特徴とする計画立案装置。
6. The planning device according to claim 1, wherein the storage means stores a predetermined number (population number) of constants (P (gn, pp)) predetermined for each repetition of the generation, and The random numbers used when generating the plan are J (gn, pp), K (g
n, pp) (where gn is the generation, pp represents the number of processings for each generation, X (gn, pp) represents the number at the time of the pp-th processing in the generation gn, and X = P,
J, K), 1 ≤ P (gn, pp) ≤ pmax (pmax is the population number), and P (gn, pp) uniformly distributed in the range of: J (gn, pp) ≠ K (gn , Pp) and 1 ≦ J
(Gn, pp) ≦ n, 1 ≦ K (gn, pp) ≦ n (n
Is the number of elements that make up the plan)
A planning device, wherein (gn, pp) and K (gn, pp) are stored in advance.
【請求項7】与えられた複数の計画候補の内容を変更
し、所定の変更回数毎に、計画候補毎の目的関数値を演
算し、該演算値にもとづき、計画候補の数を所定値に制
限して、目的関数の値を、最小あるいは最大にする計画
処理装置に立案させる計画立案方法であって、前記処理装置は、 計画が順列問題である場合には、順列の要素並びの一部
を変更し、また、計画が組合せ問題である場合には、選
択する要素の少くとも1つを変更して選択し、前記変更
によって生ずる目的関数値の変更値を演算し、該変更値
を変更前の計画候補の目的関数値に加えることにより、
変更後の計画候補に対する目的関数値を求め、 前記所定の変更回数毎には、各計画候補の目的関数値の
並び順に対し、予め与えた選択定数で示される数だけ立
案された計画候補を選択して、選択された計画候補の中
から、1の計画案を選出する、 ことを特徴とする計画立案方法。
7. The contents of a given plurality of plan candidates are changed, an objective function value for each plan candidate is calculated at a predetermined change count, and the number of plan candidates is reduced to a predetermined value based on the calculated value. A planning method for causing a processing device to make a plan for limiting and maximizing a value of an objective function, wherein the processing device, when the plan is a permutation problem, includes a list of elements in the permutation. If the plan is a combination problem, at least one of the elements to be selected is changed and selected, and a change in the objective function value caused by the change is calculated. By adding to the objective function value of the plan candidate before change,
Obtain an objective function value for the changed plan candidate, and select, for each of the predetermined number of changes, the number of plan candidates planned by the number indicated by the predetermined selection constant with respect to the order of the objective function values of each plan candidate. And selecting one plan from the selected plan candidates.
JP25184293A 1993-10-07 1993-10-07 Planning method and apparatus Expired - Lifetime JP3280487B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP25184293A JP3280487B2 (en) 1993-10-07 1993-10-07 Planning method and apparatus
US08/319,789 US5651098A (en) 1993-10-07 1994-10-07 Planning method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25184293A JP3280487B2 (en) 1993-10-07 1993-10-07 Planning method and apparatus

Publications (2)

Publication Number Publication Date
JPH07105180A JPH07105180A (en) 1995-04-21
JP3280487B2 true JP3280487B2 (en) 2002-05-13

Family

ID=17228739

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25184293A Expired - Lifetime JP3280487B2 (en) 1993-10-07 1993-10-07 Planning method and apparatus

Country Status (1)

Country Link
JP (1) JP3280487B2 (en)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
澤部直太 外3名,遺伝的アルゴリズムによるソフトウエア開発計画の立案,電子情報通信学会技術研究報告 KBSE93−1〜4,社団法人電子情報通信学会,1993年 5月19日,Vol.93,No.30,pp.25−32
神近博三,低成長時代の主役に躍り出たスケジューリング・システム,日経コンピュータ,日経BP社,1993年 7月26日,No.315,pp.73−82

Also Published As

Publication number Publication date
JPH07105180A (en) 1995-04-21

Similar Documents

Publication Publication Date Title
Aras et al. A novel stochastic fractal search algorithm with fitness-distance balance for global numerical optimization
Caraffa et al. Minimizing makespan in a blocking flowshop using genetic algorithms
Park A hybrid genetic algorithm for the vehicle scheduling problem with due times and time deadlines
Ene et al. Storage location assignment and order picking optimization in the automotive industry
Prakash et al. Modified immune algorithm for job selection and operation allocation problem in flexible manufacturing systems
CN109472362B (en) AGV dynamic scheduling method and device based on variable task window
CN105929690B (en) A kind of Flexible Workshop Robust Scheduling method based on decomposition multi-objective Evolutionary Algorithm
US5651098A (en) Planning method and system
EP1345167A1 (en) Method of combinatorial multimodal optimisation
Aminzadegan et al. Multi-agent supply chain scheduling problem by considering resource allocation and transportation
Kalita et al. Bi-objective corridor allocation problem using a permutation-based genetic algorithm hybridized with a local search technique
CN109523178A (en) A kind of O&amp;M method and device towards power communication scene
Zhou et al. Automatic design of scheduling policies for dynamic flexible job shop scheduling by multi-objective genetic programming based hyper-heuristic
Qian et al. A multi-objective evolutionary algorithm based on adaptive clustering for energy-aware batch scheduling problem
Aghajani-Delavar et al. A multi-objective vibration damping optimization algorithm for solving a cellular manufacturing system with manpower and tool allocation
Kumar et al. A genetic algorithm for a flow shop scheduling problem with breakdown interval, transportation time and weights of jobs
CN108596339A (en) A kind of multi-objective Optimization Genetic Algorithm of structure population and subproblem
Teymourifar et al. A comparison between two modified NSGA-II algorithms for solving the multi-objective flexible job shop scheduling problem
Pelikan et al. Genetic algorithms
Yacoubi et al. A multi-objective Chaos Game Optimization algorithm based on decomposition and random learning mechanisms for numerical optimization
Lu et al. A Population Cooperation based Particle Swarm Optimization algorithm for large-scale multi-objective optimization
JP3280487B2 (en) Planning method and apparatus
Nugraheni et al. Hybrid Metaheuristics for Job Shop Scheduling Problems.
Sosa et al. Genetic algorithm-based solution of multi-objective stochastic transportation problem
Tiwari et al. Heuristic solution approaches for combined-job sequencing and machine loading problem in flexible manufacturing systems

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080222

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090222

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090222

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100222

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100222

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110222

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110222

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120222

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120222

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130222

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140222

Year of fee payment: 12

EXPY Cancellation because of completion of term