JPH1185721A - Optimum design supporting device - Google Patents

Optimum design supporting device

Info

Publication number
JPH1185721A
JPH1185721A JP9245159A JP24515997A JPH1185721A JP H1185721 A JPH1185721 A JP H1185721A JP 9245159 A JP9245159 A JP 9245159A JP 24515997 A JP24515997 A JP 24515997A JP H1185721 A JPH1185721 A JP H1185721A
Authority
JP
Japan
Prior art keywords
argument input
argument
input value
execution
application program
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.)
Pending
Application number
JP9245159A
Other languages
Japanese (ja)
Inventor
Hiroyuki Sato
裕幸 佐藤
Katsuto Nakajima
克人 中島
Kaori Kawakami
かおり 川上
Susumu Shiraishi
將 白石
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP9245159A priority Critical patent/JPH1185721A/en
Publication of JPH1185721A publication Critical patent/JPH1185721A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To attain the automation of series of work of parameter generation and optimum design and the shortening of time required for the optimum resign by repeating the execution of an application program while generating an argument input value until a satisfactory solution is provided. SOLUTION: An execution condition setting part 1 designates execution conditions such as an application program name for performing the optimum design, the information of an argument and the end conditions of execution and stores them in an execution condition storage part 6. Then, the input values of arguments generated by an input value generating part 2 according to a designated input value generating method are stored in an input value group storage part 5. Next, a parallel execution part 3 performs calculation concerning the optimum design while using the application program stored in the input value group storage part 5 and preserves the found solution in an executed result storage part 8, and an evaluation value showing the quality of the solution is stored in an evaluated result storage part 7 together with the combination of argument input values. When the execution of the application program is finished, based on the information stored in the execution condition storage part 6 and evaluated result storage part 7, an end discriminating part 4 discriminates whether the satisfactory solution can be provided or not, and the optimum design is performed by repeating the generation of argument input values, the execution of the program, the evaluation of the solution and the prescribed procedure of end discrimination until the satisfactory solution can be provided.

Description

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

【0001】[0001]

【発明の属する技術分野】この発明は、複数のパラメタ
の最適な或いはある評価基準を満足する値の組合せを発
見する最適設計を分散並列環境で支援する装置に関する
ものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an apparatus for supporting, in a distributed parallel environment, an optimum design for finding an optimum combination of a plurality of parameters or a combination of values satisfying a certain evaluation criterion.

【0002】[0002]

【従来の技術】図14は、従来技術における、複数のパ
ラメタの最適な或いはある評価基準を満足する値の組合
せを発見する最適設計を行うプロセスを示す図である。
図14においては、パラメタの組合せを幾つか生成し、
そのパラメタの組合せをシミュレーションを行う応用プ
ログラムに引数の入力値として与え実行し、満足のいく
解が得られたかどうかを判断し、満足できれば終了と
し、満足できなければ、パラメタの組合せの生成しさら
に、そのパラメタの組合せをシミュレーションを行う応
用プログラムに引数の入力値として与え実行し、再度満
足のいく解が得られたかどうかを判断し、満足できれば
終了とし、満足できなければ、このプロセスを繰り返
す、という人手による作業が一般的であった。なお、そ
れぞれのパラメタの組合せによる応用プログラムの実行
はそれぞれ独立しており並列性があるので、並列処理が
可能である。そのため、パラメタの生成・集計・評価、
更には、前回の実行結果(求めた中間結果の評価)に基
づいた次のパラメタの組合せの生成までを含めた自動化
が期待されている。
2. Description of the Related Art FIG. 14 is a diagram showing a process for performing an optimum design for finding an optimum combination of a plurality of parameters or a value satisfying a certain evaluation criterion in the prior art.
In FIG. 14, several combinations of parameters are generated,
The combination of the parameters is given as an input value of an argument to an application program for performing a simulation and executed, and it is determined whether a satisfactory solution is obtained. If satisfied, the process is terminated. If not satisfied, a combination of parameters is generated. , The combination of the parameters is given as an input value of an argument to an application program for performing the simulation, and executed, and it is determined whether a satisfactory solution is obtained again. If satisfied, the process is terminated. If not satisfied, the process is repeated. This was a manual operation. The execution of the application program by the combination of the parameters is independent and has parallelism, so that parallel processing is possible. Therefore, parameter generation / aggregation / evaluation,
Further, automation including generation of the next combination of parameters based on the previous execution result (evaluation of the obtained intermediate result) is expected.

【0003】インターネット上のhttp://www.activetoo
ls.com/products.htmlに示された米国ActiveTools社のC
luster1.1は、前記作業の一部であるパラメタの組合せ
の生成及びそれ基づく応用プログラムの実行をネットワ
ークで接続された分散並列環境で自動化するためのツー
ルである。
[0003] http: //www.activetoo on the Internet
ActiveTools C shown in ls.com/products.html
luster1.1 is a tool for automating the generation of parameter combinations and the execution of application programs based on them in a distributed parallel environment connected by a network.

【0004】パラメタの自動生成には、各パラメタ毎に
指定された範囲の値を均等に生成したり、ランダムに生
成する機能があり、それぞれ生成されたパラメタについ
て、全ての組合せを指定された応用プログラムに与え、
並列実行する。
[0004] The automatic parameter generation has a function of uniformly generating a value in a range designated for each parameter or randomly generating a value. For each parameter generated, an application in which all combinations are specified. Give to the program,
Execute in parallel.

【0005】[0005]

【発明が解決しようとする課題】従来のCluster1.1で
は、応用プログラムに与えるパラメタの組合せを自動生
成するが、どの範囲をどの程度の幅で生成すべきかとい
う指標がないので、最初は適当な生成範囲を適当な刻み
幅で生成し、応用プログラムを実行し、その結果を使用
者が判断し、パラメタ毎に生成範囲や刻み幅を変更しな
ければならなかった。すなわち、それらの変更は、使用
者が人手で行う必要があり、最適設計の自動化にはなっ
ていない。そのため、自動化できている部分を多く利用
するために、パラメタの生成範囲を大き目に取ったり、
生成刻み幅を小さ目に取ることになり、その結果、パラ
メタの組合せ数が多くなるので、実行時間が多くなって
しまうという問題があった。
In the conventional Cluster 1.1, a combination of parameters to be given to an application program is automatically generated. However, since there is no index as to which range should be generated and at what width, an appropriate value is initially set. The generation range was generated with an appropriate step size, the application program was executed, the result was judged by the user, and the generation range and the step size had to be changed for each parameter. That is, these changes need to be manually performed by the user, and are not automated for optimal design. Therefore, in order to use a lot of parts that can be automated, the range of parameter generation should be large,
The generation step width is set to a small value. As a result, the number of parameter combinations increases, which causes a problem that the execution time increases.

【0006】また、パラメタ生成に関しては、生成範囲
や生成の刻み幅を人手で指示するので、最適化、すなわ
ち、最適解探索の指針がシステムにより示されておら
ず、その部分は使用者の裁量に任されている。従って、
全ての使用者が効率的に最適解探索を行えるとは限らな
いという問題がある。
[0006] Further, regarding parameter generation, since the generation range and the step size of generation are manually specified, optimization, that is, a guideline for searching for an optimal solution is not provided by the system, and the part thereof is at the discretion of the user. Has been entrusted to Therefore,
There is a problem that not all users can efficiently search for an optimal solution.

【0007】更に、各パラメタの組合せに対応する応用
プログラムの実行がすべて独立して行われるので、ある
パラメタの組合せで満足いく結果が得られたとしても、
全ての実行が終了するまで使用者はその結果を見ること
ができないばかりでなく、他のパラメタの組合せによる
実行は継続されたままなので、無駄な実行が多くなり、
結果的に最適設計の時間を多く費やしてしまうという問
題がある。
Further, since the execution of the application program corresponding to each parameter combination is performed independently, even if a satisfactory result is obtained with a certain parameter combination,
Not only can the user not see the result until all the executions have been completed, but the execution by the combination of other parameters is continued.
As a result, there is a problem that a lot of time is spent for optimal design.

【0008】この発明は上記のような問題点を解決する
ためになされたもので、最適設計を行う応用プログラム
の実行結果を基にしてパラメタの生成を自動的に行い、
最適設計の一連の作業を自動化し、最適設計に要する時
間を短縮することを目的とする。
The present invention has been made to solve the above problems, and automatically generates parameters based on the execution result of an application program for performing an optimal design.
An object of the present invention is to automate a series of operations for optimal design and reduce the time required for optimal design.

【0009】[0009]

【課題を解決するための手段】第1の発明に係わる最適
設計支援装置は、与えられた引数入力値の組合せを基に
設計を行う応用プログラムの名前、引数の情報、実行の
進め方、終了条件を設定する実行条件設定手段と、設定
された実行条件及び前回の応用プログラムが求めた解の
質を表す評価結果を基に、応用プログラムに与える引数
入力値の組合せを複数生成する引数入力値生成手段と、
生成された複数の引数入力値の組合せを応用プログラム
に与えて並列に実行する並列実行手段と、全ての応用プ
ログラムの実行が終了した後、満足のいく解が得られた
かどうかを判断する終了判定手段とを備え、満足のいく
解が得られれば終了し、満足のいく解が得られなければ
再び引数入力値生成手段により引数入力値を生成し応用
プログラムの実行を繰り返すようにしたものである。
According to a first aspect of the present invention, there is provided an optimal design support apparatus, comprising: a name of an application program to be designed based on a given combination of argument input values; information on arguments; Execution condition setting means for setting a plurality of combinations of argument input values to be given to the application program based on the set execution conditions and the evaluation result indicating the quality of the solution obtained by the previous application program. Means,
A parallel execution means for giving a generated combination of a plurality of argument input values to an application program and executing the application program in parallel, and an end determination for judging whether a satisfactory solution has been obtained after execution of all the application programs is completed Means is terminated when a satisfactory solution is obtained, and if no satisfactory solution is obtained, an argument input value is generated again by the argument input value generating means and the execution of the application program is repeated. .

【0010】第2の発明は、第1の発明における最適設
計支援装置において、満足のいく解が得られなかった際
の次回の引数入力値の生成において、前回の実行で良い
評価結果が得られた引数入力値のみ採用し、採用された
引数入力値の近傍を前回より細かな範囲で生成を行う引
数入力値生成手段を備えるようにしたものである。
According to a second aspect of the present invention, in the optimal design support apparatus according to the first aspect of the present invention, in the generation of the next argument input value when a satisfactory solution is not obtained, a good evaluation result is obtained in the previous execution. And an argument input value generating means for generating the vicinity of the adopted argument input value in a range finer than the previous time.

【0011】第3の発明は、第2の発明における最適設
計支援装置において、満足のいく解が得られなかった際
の次回の引数入力値の生成における、前回の実行で良い
評価結果が得られた引数入力値の採用において、最も良
い評価結果が得られた引数入力値から評価結果が良い順
に設定された数の引数入力値を採用し、それらの引数入
力値の近傍を前回より細かな範囲で生成を行う引数入力
値生成手段を備えるようにしたものである。
According to a third aspect of the present invention, in the optimal design support apparatus according to the second aspect of the present invention, a good evaluation result can be obtained by the previous execution in the generation of the next argument input value when a satisfactory solution is not obtained. In the adoption of argument input values, the number of argument input values set in order of the evaluation result from the argument input value with the best evaluation result is adopted, and the vicinity of those argument input values is narrower than the previous time. And an argument input value generating means for generating the input value.

【0012】第4の発明は、第2の発明における最適設
計支援装置において、満足のいく解が得られなかった際
の次回の引数入力値の生成における、前回の実行で良い
評価結果が得られた引数入力値の採用において、設定さ
れた評価基準以上の評価結果が得られた引数入力値全て
を採用し、それらの引数入力値の近傍を前回より細かな
範囲で生成を行う引数入力値生成手段を備えるようにし
たものである。
According to a fourth aspect of the present invention, in the optimal design support apparatus according to the second aspect of the present invention, a good evaluation result can be obtained in the previous execution in the generation of the next argument input value when a satisfactory solution cannot be obtained. Argument input value generation that adopts all the argument input values that have obtained evaluation results that are equal to or higher than the set evaluation criteria when adopting the argument input values that have been set, and generates the vicinity of those argument input values in a smaller range than the previous time Means.

【0013】第5の発明は、第2の発明における最適設
計支援装置において、満足のいく解が得られなかった際
の次回の引数入力値の生成において、採用された引数入
力値の近傍を前回より細かな範囲で生成を行う際に、同
じ値の引数入力値の重複を除去する引数入力値生成手段
を備えるようにしたものである。
According to a fifth aspect of the present invention, in the optimal design support apparatus according to the second aspect of the present invention, in the next generation of the argument input value when a satisfactory solution is not obtained, the vicinity of the adopted argument input value is set to the previous value. When the generation is performed in a finer range, an argument input value generating means for eliminating duplication of the argument input value of the same value is provided.

【0014】第6の発明は、第4の発明における最適設
計支援装置において、満足のいく解が得られなかった際
の次回の引数入力値の生成における、前回の実行で良い
評価結果が得られた引数入力値の採用において、設定さ
れた評価基準以上の評価結果が得られた引数入力値全て
を採用する際に、引数入力値の1つの組合せによる応用
プログラムの実行が終了し、その評価結果が設定された
評価基準以上であった場合に、他の引数入力値の組合せ
による応用プログラムの実行終了を待たずに、直ちにそ
の引数入力値の近傍を前回より細かな範囲で引数入力値
を生成し、生成された引数入力値の組合せを応用プログ
ラムに与えて並列に実行するようにしたものである。
According to a sixth aspect, in the optimal design support apparatus according to the fourth aspect, a good evaluation result can be obtained by the previous execution in the generation of the next argument input value when a satisfactory solution cannot be obtained. When adopting all of the argument input values that have obtained an evaluation result equal to or greater than the set evaluation criterion in the adoption of the argument input values, the execution of the application program by one combination of the argument input values is completed, and the evaluation result is obtained. Is greater than or equal to the set evaluation criterion, immediately generate an argument input value in the vicinity of that argument input value in a smaller range than the previous time without waiting for the execution of the application program by combining other argument input values. Then, a combination of the generated argument input values is given to an application program to be executed in parallel.

【0015】第7の発明は、第4の発明における最適設
計支援装置において、満足のいく解が得られなかった際
の次回の引数入力値の生成における、前回の実行で良い
評価結果が得られた引数入力値の採用において、設定さ
れた評価基準以上の評価結果が得られた引数入力値全て
を採用する際に、設定された評価基準以上の評価結果を
満足する引数入力値が1つしか存在しないと使用者によ
り設定されている場合、1つの引数入力値の組合せによ
る応用プログラムの実行が終了し、その評価結果が設定
された評価基準以上であった場合に、他の引数入力値の
組合せによる応用プログラムの実行をすべてアボート
し、直ちにその引数入力値の近傍を前回より細かな範囲
で引数入力値を生成し、生成された引数入力値の組合せ
を応用プログラムに与えて並列に実行するようにしたも
のである。
According to a seventh aspect, in the optimal design support apparatus according to the fourth aspect, a good evaluation result can be obtained by the previous execution in the generation of the next argument input value when a satisfactory solution cannot be obtained. When adopting all the argument input values that have obtained the evaluation results that are equal to or higher than the set evaluation criterion, only one argument input value that satisfies the evaluation result that is equal to or higher than the set evaluation criterion is adopted. If it is set by the user that it does not exist, the execution of the application program by the combination of one argument input value ends, and if the evaluation result is equal to or greater than the set evaluation criterion, the other argument input value Abort all execution of the application program by the combination, immediately generate an argument input value in the vicinity of the argument input value in a finer range than the previous time, and transfer the generated combination of argument input values to the application program. Ete is obtained so as to run in parallel.

【0016】第8の発明は、第4の発明における最適設
計支援装置において、満足のいく解が得られなかった際
の次回の引数入力値の生成における、前回の実行で良い
評価結果が得られた引数入力値の採用において、設定さ
れた評価基準以上の評価結果が得られた引数入力値全て
を採用する際に、設定された評価基準以上の評価結果を
満足する引数入力値が設定された範囲内に1つしか存在
しないと使用者により設定されている場合、1つの引数
入力値の組合せによる応用プログラムの実行が終了し、
その評価結果が設定された評価基準以上であった場合
に、設定された範囲内の他の引数入力値の組合せによる
応用プログラムの実行をすべてアボートし、直ちにその
引数入力値の近傍を前回より細かな範囲で引数入力値を
生成し、生成された引数入力値の組合せを応用プログラ
ムに与えて並列に実行するようにしたものである。
According to an eighth aspect of the present invention, in the optimal design support apparatus according to the fourth aspect of the present invention, a good evaluation result can be obtained in the previous execution in the generation of the next argument input value when a satisfactory solution cannot be obtained. In the adoption of the argument input values, when all of the argument input values that obtained the evaluation results equal to or higher than the set evaluation criteria were adopted, the argument input values that satisfied the evaluation results equal to or higher than the set evaluation criteria were set. If the user sets that there is only one in the range, the execution of the application program by the combination of one argument input value ends,
If the evaluation result is equal to or greater than the set evaluation criterion, abort all execution of the application program by the combination of other argument input values within the set range, and immediately check the vicinity of the argument input value more closely than the previous time. In this case, an argument input value is generated within a range, and a combination of the generated argument input values is given to an application program to be executed in parallel.

【0017】第9の発明は、第1の発明における最適設
計支援装置において、生成された引数入力値の組合せを
応用プログラムに与えて並列実行する際に、全ての生成
された引数入力値の組合せを1度に並列実行するのでは
なく、設定された数だけ並列実行し、それらの実行が終
了し満足のいく解が得られなかった場合、残りの引数入
力値の組合せのうち設定された数だけ並列実行するよう
にしたものである。
According to a ninth aspect, in the optimal design support device according to the first aspect, when the generated combination of the argument input values is given to the application program and executed in parallel, all the combinations of the generated argument input values are combined. Is not executed in parallel at once, but is executed in parallel for the set number. If the execution is completed and a satisfactory solution is not obtained, the set number of the remaining combinations of the argument input values is set. Only parallel execution is performed.

【0018】第10の発明は、第9の発明における最適
設計支援装置において、引数入力値の生成において生成
される引数入力値に実行優先度を設定する手段を備え、
生成された引数入力値の組合せを応用プログラムに与え
て並列実行する際に、全ての生成された引数入力値の組
合せを1度に並列実行するのではなく、設定された実行
優先度順に設定された数だけ並列実行し、それらの実行
が終了し満足のいく解が得られなかった場合、残りの引
数入力値の組合せのうち設定された実行優先度順に設定
された数だけ並列実行することを繰り返すようにしたも
のである。
According to a tenth aspect, in the optimum design support apparatus according to the ninth aspect, there is provided means for setting an execution priority to the argument input value generated in the generation of the argument input value,
When the generated combinations of the argument input values are given to the application program and executed in parallel, all the combinations of the generated argument input values are set in the set execution priority order instead of being executed at once. When the execution is completed and a satisfactory solution is not obtained, it is necessary to execute in parallel the number of combinations of the remaining argument input values set in the set execution priority order. It is intended to be repeated.

【0019】第11の発明は、第1の発明における最適
設計支援装置において、満足のいく解が得られなかった
際の次回の引数入力値の生成において、前回の引数入力
値の組合せに対して、交叉、突然変異、淘汰の遺伝的操
作を施すことにより、引数入力値の生成を行う引数入力
値生成手段を備えるようにしたものである。
According to an eleventh aspect of the present invention, in the optimal design support apparatus according to the first aspect of the present invention, when a satisfactory solution is not obtained, a next argument input value is generated with respect to a combination of previous argument input values. , A crossover, a mutation, and a selection operation, thereby generating an argument input value.

【0020】第12の発明は、第2の発明における最適
設計支援装置において、満足のいく解が得られなかった
際の次回の引数入力値の生成において、評価結果の良い
引数入力値の組合せのうち、同じ値の多い引数はその値
に固定し、その他の残りの引数について、採用された引
数入力値の近傍を前回より細かな範囲で生成を行う引数
入力値生成手段を備えるようにしたものである。
According to a twelfth aspect, in the optimal design support apparatus according to the second aspect, in the generation of the next argument input value when a satisfactory solution is not obtained, the combination of the argument input values having a good evaluation result is used. Arguments with the same value are fixed to the same value, and the other remaining arguments are provided with an argument input value generation means for generating the vicinity of the adopted argument input value in a smaller range than the last time. It is.

【0021】第13の発明は、第1の発明における最適
設計支援装置において、引数入力値とそれに対応する応
用プログラムが求めた解の評価結果の対応を端末にグラ
フ表示する機能を備えるようにしたものである。
According to a thirteenth aspect, in the optimum design support apparatus according to the first aspect, a function is provided in which a correspondence between the argument input value and the evaluation result of the solution obtained by the corresponding application program is graphically displayed on a terminal. Things.

【0022】第14の発明は、第1の発明における最適
設計支援装置において、応用プログラムが求めた解の評
価結果のうち、最も良い評価結果の時間的推移を端末に
グラフ表示する機能を備えるようにしたものである。
According to a fourteenth aspect, in the optimal design support apparatus according to the first aspect, a function is provided in which a time transition of the best evaluation result among the evaluation results of the solution obtained by the application program is displayed on a terminal in a graph. It was made.

【0023】第15の発明は、第1の発明における最適
設計支援装置において、応用プログラムに与える引数入
力値の生成方法を応用プログラムの実行中においても動
的に変更設定できる機能を備えるようにしたものであ
る。
According to a fifteenth aspect, in the optimum design support apparatus according to the first aspect, a function of dynamically changing and setting a method of generating an argument input value given to an application program even during execution of the application program is provided. Things.

【0024】第16の発明は、第1の発明における最適
設計支援装置において、設定された時間が経過したら、
実行中の応用プログラム全てをアボートし、その時点の
最も評価結果の良い解を最終的な解とし終了するように
したものである。
According to a sixteenth aspect, in the optimal design support apparatus according to the first aspect, after the set time has elapsed,
This aborts all running application programs, terminates the solution with the best evaluation result at that time as the final solution, and terminates.

【0025】第17の発明は、第1の発明における最適
設計支援装置において、満足のいく解が得られなかった
際に前回の実行における最も良い評価結果を記憶し、満
足のいく解が得られたかどうかを判定する終了判定手段
において、今回の実行における最も良い評価結果と記憶
しておいた前回の実行における最も良い評価結果を比較
し、その比率が使用者により設定された比率以下になっ
ていたら、満足のいく解が得られたと判断し、終了する
ようにしたものである。
According to a seventeenth aspect, in the optimal design support apparatus according to the first aspect, when a satisfactory solution is not obtained, the best evaluation result in the previous execution is stored, and a satisfactory solution is obtained. In the end determination means for determining whether or not the best evaluation result in the current execution is compared with the stored best evaluation result in the previous execution, the ratio is smaller than the ratio set by the user. Then, it is determined that a satisfactory solution has been obtained, and the process is terminated.

【0026】第18の発明は、第1の発明における最適
設計支援装置において、満足のいく解が得られたかどう
かを判定する終了判定手段において、今回の実行におけ
る最も良い評価結果が使用者により設定された値以上に
なっていたら、満足のいく解が得られたと判断し、終了
するようにしたものである。
According to an eighteenth aspect, in the optimum design support apparatus according to the first aspect, the end determination means for determining whether a satisfactory solution has been obtained, wherein the best evaluation result in the current execution is set by the user. If the value is equal to or greater than the value set, it is determined that a satisfactory solution has been obtained, and the process is terminated.

【0027】第19の発明は、第1の発明における最適
設計支援装置において、使用者からの操作により、実行
中の応用プログラム全てをアボートし、その時点の最も
評価結果の良い解を最終的な解とし終了するようにした
ものである。
According to a nineteenth aspect, in the optimal design support apparatus according to the first aspect, all running application programs are aborted by a user's operation, and a solution having the best evaluation result at that time is finally determined. The solution is terminated.

【0028】[0028]

【発明の実施の形態】BEST MODE FOR CARRYING OUT THE INVENTION

実施の形態1.本発明の一実施の形態について、図1か
ら図13に基づいて説明する。図1は、本実施の形態に
おける最適設計支援装置の全体構成、及び情報の流れを
示す図である。図中において、1は本最適設計支援装置
に応用プログラム、そのプログラムへの引数入力値の生
成方法及び終了条件等を指定するための実行条件設定
部、2は実行条件及び前回のプログラム実行の評価結果
を基に次のプログラム実行の引数入力値を生成するため
の入力値生成部、3は応用プログラムを並列に実行する
ための並列実行部、4は満足のいく解が得られたかどう
かを判断するための終了判定部、5はプログラムの引数
入力値が貯えられた入力値群蓄積部、6は実行条件設定
部1で指定された実行条件蓄積部、7はプログラムの引
数入力値の組合せとそれに対応する応用プログラムが求
めた実行結果の評価値の組みが貯えられた評価結果蓄積
部、8は応用プログラムの実行結果蓄積部、9は本装置
の実行状況を表示する実行状況表示部であり、実線は制
御の流れを、また点線は情報の流れを示している。
Embodiment 1 FIG. An embodiment of the present invention will be described with reference to FIGS. FIG. 1 is a diagram showing the overall configuration of the optimal design support device and the flow of information in the present embodiment. In the figure, 1 is an execution condition setting unit for designating an application program, a method of generating an argument input value to the program, an end condition, and the like, and 2 is an execution condition and an evaluation of the previous program execution. An input value generation unit for generating an argument input value for the next program execution based on the result, 3 is a parallel execution unit for executing the application program in parallel, and 4 is for determining whether a satisfactory solution has been obtained. An end determination unit for performing the operation, an input value group storage unit in which the program argument input values are stored, an execution condition storage unit designated by the execution condition setting unit 1, a combination of program argument input values, An evaluation result storage unit that stores a set of evaluation values of the execution results obtained by the corresponding application program, 8 is an execution result storage unit of the application program, and 9 is an execution status display that displays the execution status of the apparatus. , And the solid lines the flow of control, and the dashed lines the flow of information.

【0029】次に本最適設計支援装置の動作について説
明する。まず実行条件設定部1で最適設計を行うための
応用プログラム名、そのプログラムへ与える引数の入力
値の生成方法及び実行の終了条件等の実行条件が使用者
により指定され、実行条件蓄積部6へ貯えられる。そし
て、入力値生成部2で指定された入力値生成方法に従っ
て応用プログラムへ与える引数の入力値が生成され、入
力値群蓄積部5に貯えられる。次に、並列実行部3によ
り、実行条件設定部1で指定された応用プログラムが、
入力値群蓄積部5に貯えられた引数入力値を使って実行
される。この際、応用プログラムは、入力値群蓄積部5
に貯えられた各引数毎の複数の入力値について、引数毎
の値を組合せて、それぞれ並列に実行される。そして、
応用プログラムは、引数入力値の組合せに従って最適設
計に関する計算を行い、求めた解を実行結果蓄積部8に
保存すると共に、求まった解の質を表す評価値を求め、
その評価値を引数入力値の組合せと共に評価結果蓄積部
7に格納する。
Next, the operation of the optimal design support apparatus will be described. First, the execution condition setting unit 1 specifies an application program name for performing an optimal design, a method of generating input values of arguments given to the program, and execution conditions such as an end condition of execution. Can be stored. Then, an input value of an argument to be given to the application program is generated according to the input value generation method specified by the input value generation unit 2 and stored in the input value group storage unit 5. Next, the application program specified by the execution condition setting unit 1 is executed by the parallel execution unit 3.
The processing is executed using the argument input values stored in the input value group storage unit 5. At this time, the application program stores the input value group storage unit 5
Are executed in parallel by combining the values of each argument with respect to a plurality of input values for each argument stored in. And
The application program calculates the optimal design according to the combination of the argument input values, stores the obtained solution in the execution result storage unit 8, and obtains an evaluation value representing the quality of the obtained solution.
The evaluation value is stored in the evaluation result storage unit 7 together with the combination of the argument input values.

【0030】応用プログラムの実行が終了したら、終了
判定部4により、実行条件蓄積部6及び評価結果蓄積部
7に蓄積された情報を基に満足のいく解が得られたかど
うかを判定し、満足のいく解が得られたらそれでプロセ
スを終了し、満足いかなければ入力値生成部2へ制御を
移す。そして、実行条件蓄積部6及び評価結果蓄積部7
に蓄積された情報を基に、入力値生成部2は再び応用プ
ログラムの引数入力値を生成し、並列実行部3により応
用プログラムが並列に実行される。ここで、引数入力値
の生成、プログラムの実行と解の評価、終了判定を1世
代と呼び、本装置では、この世代を満足いく解が得られ
るまで繰り返すことにより、最適設計を行う。なお、終
了判定部4は、評価結果蓄積部7に実行条件変更という
印を見つけると、実行条件設定部1に制御を渡す。
When the execution of the application program is completed, the end determination unit 4 determines whether or not a satisfactory solution is obtained based on the information stored in the execution condition storage unit 6 and the evaluation result storage unit 7. If a satisfactory solution is obtained, the process is terminated. If not satisfied, the control is transferred to the input value generation unit 2. Then, the execution condition storage unit 6 and the evaluation result storage unit 7
The input value generation unit 2 again generates an argument input value of the application program based on the information accumulated in the application program, and the parallel execution unit 3 executes the application program in parallel. Here, the generation of the argument input value, the execution of the program, the evaluation of the solution, the evaluation of the termination, and the termination determination are called one generation, and the present apparatus performs the optimal design by repeating this generation until a satisfactory solution is obtained. When the end determination unit 4 finds a mark indicating that the execution condition has been changed in the evaluation result accumulation unit 7, it passes control to the execution condition setting unit 1.

【0031】以上のように、前回のプログラム実行の引
数入力値とそれに対応する解の評価値を基に、次の実行
の引数入力値を決めているので、最適な解の探索が効率
的に高速に行え、更に、応用プログラムの実行に関して
は、それぞれの引数入力値を用いた応用プログラムの実
行を並列に行っているので、最適な解を高速に求めるこ
とができる。
As described above, since the input value of the argument of the next execution is determined based on the input value of the argument of the previous program execution and the evaluation value of the corresponding solution, the search for the optimum solution is efficiently performed. Since the execution of the application program can be performed at high speed and the execution of the application program using each argument input value is performed in parallel, an optimal solution can be obtained at high speed.

【0032】次に、実行条件設定部1における、実行条
件の指定方法について説明する。実行条件設定部1で
は、応用プログラム、評価プログラム、応用プログラム
に与える引数に関する情報、実行の進め方及び終了条件
を指定する。
Next, a method of specifying an execution condition in the execution condition setting section 1 will be described. The execution condition setting unit 1 designates an application program, an evaluation program, information on arguments given to the application program, a method of proceeding with execution, and an end condition.

【0033】まず、応用プログラムの指定においては、
その名前と応用プログラムが受け取る引数の個数を指定
する。また、応用プログラムが出力した実行結果の質を
評価するための評価プログラムの名前も指定する。な
お、本装置が動作する環境においては、これらの応用プ
ログラム及び評価プログラムは、それぞれの実行可能フ
ァイルが二次記憶上に格納されており、その名前を指定
することによりそれぞれのプログラムが実行できるよう
になっていなければならない。また、本装置で扱う応用
プログラムが出力する実行結果の形式は自由であるが、
評価プログラムはその形式を知っており、実行結果の質
を評価することができるようになっている必要がある。
また、評価値は1つの数値とし、その値が大きいほど良
い評価であることを示すことにする。
First, in specifying an application program,
Specify the name and the number of arguments that the application program receives. Also, the name of an evaluation program for evaluating the quality of the execution result output by the application program is specified. In an environment in which the present apparatus operates, these application programs and evaluation programs have their executable files stored in secondary storage, and can execute each program by designating its name. It must be. The format of the execution result output by the application program handled by this device is arbitrary,
The evaluation program must know the format and be able to evaluate the quality of the execution results.
The evaluation value is a single numerical value, and the larger the value, the better the evaluation.

【0034】応用プログラムの引数に関する情報の指定
においては、次世代の実行における引数入力値の生成に
遺伝的アルゴリズム(以後、GAと呼ぶ)を用いるかど
うかによって、各引数ごとに個別に指定するか、全ての
引数を一度に指定するかが異なる。従って、応用プログ
ラムの引数に関する情報の指定においては、まず最初
に、次世代の実行における引数入力値の生成にGAを用
いるかどうかを指定する。
In the specification of the information on the arguments of the application program, whether each argument is individually specified depends on whether a genetic algorithm (hereinafter referred to as GA) is used to generate the argument input value in the next-generation execution. , All arguments are specified at once. Therefore, in the specification of the information on the arguments of the application program, first, it is specified whether or not the GA is used to generate the argument input value in the next-generation execution.

【0035】次世代の実行における引数入力値の生成に
GAを用いない場合、すなわち、各引数ごとに情報を指
定する場合について説明する。この場合は、各引数ごと
に、データ型、引数の初期入力値の生成方法及び次世代
の実行における入力値の生成方法を指定する。
A case where GA is not used to generate an argument input value in the next-generation execution, that is, a case where information is specified for each argument will be described. In this case, for each argument, the data type, the method of generating the initial input value of the argument, and the method of generating the input value in the next-generation execution are specified.

【0036】データ型には、整数又は浮動小数を指定す
ることができる。引数の初期入力値の生成方法の指定で
は、次に説明する3種類の生成方法を指定することがで
きる。まず一つ目は「ステップ」であり、引数入力値の
最大値、最小値及びステップ値を指定する。この場合
は、引数入力値が、指定された最小値から最大値まで、
指定されたステップ値で増加するよう生成される。二つ
目が「逐次」であり、引数入力値の最大値、最小値及び
個数を指定する。この場合は、引数入力値が、指定され
た最小値から最大値まで、等間隔に指定された個数生成
される。三つ目が「ランダム」であり、引数入力値の最
大値、最小値及び個数を指定する。この場合は、引数入
力値が、指定された最小値から最大値まで、指定された
個数ランダムに生成される。この引数の初期入力値の指
定では、これらの3種類の指定方法で、複数指定するこ
とができるが、複数指定した場合の意味については後述
する。
As the data type, an integer or a floating-point number can be specified. In the specification of the generation method of the initial input value of the argument, the following three types of generation methods can be specified. The first is “step”, which specifies the maximum value, minimum value, and step value of the argument input value. In this case, if the argument input value is from the specified minimum value to the maximum value,
Generated to increase by the specified step value. The second is "sequential", which specifies the maximum value, minimum value and number of argument input values. In this case, the specified number of argument input values are generated at equal intervals from the specified minimum value to the specified maximum value. The third is “random”, which specifies the maximum value, minimum value, and number of argument input values. In this case, a specified number of argument input values are randomly generated from a specified minimum value to a specified maximum value. In the specification of the initial input value of this argument, a plurality of specifications can be made by these three types of specification methods.

【0037】図2は、初期入力値の生成方法を指定した
例である。2−1は初期入力値の生成方法の指定におけ
るステップの例であり、2−2は初期入力値の生成方法
の指定における逐次の例であり、2−3は初期入力値の
生成方法の指定におけるランダムの例である。なお、こ
れらの例でのデータ型は整数であり、浮動小数の場合も
同様に指定できる。
FIG. 2 shows an example in which a method of generating an initial input value is specified. 2-1 is an example of steps in specifying an initial input value generation method, 2-2 is a sequential example in specifying an initial input value generation method, and 2-3 is specification of an initial input value generation method. It is an example of random in. Note that the data type in these examples is an integer, and a floating-point number can be similarly specified.

【0038】図3は、図2で指定された初期入力値の生
成方法により生成された入力値群の例である。3−1は
2−1でステップ指定により生成された引数入力値群で
あり、3−2は2−2で逐次指定により生成された引数
入力値群であり、3−3は2−3でランダム指定により
生成された引数入力値群の例である。
FIG. 3 is an example of an input value group generated by the method for generating the initial input value specified in FIG. 3-1 is an argument input value group generated by step designation in 2-1; 3-2 is an argument input value group generated by sequential designation in 2-2; 3-3 is 2-3; It is an example of an argument input value group generated by random designation.

【0039】このように生成された引数の入力値群は、
入力値群蓄積部5に保存され、並列実行部3によって、
応用プログラムがこれらの入力値群を使用して、並列に
実行される。なお、応用プログラムが複数の引数を取る
場合には、それぞれの引数について生成された入力値群
をすべて組合せて、応用プログラムが実行される。例え
ば、応用プログラムが3つの引数を取り、図2におい
て、それぞれ2−1が第1引数の指定、2−2が第2引
数の指定、2−3が第3引数の指定とすると、図3に示
すように、第1引数は7個、第2引数は4個、第3引数
は4個の入力値群が生成されるので、並列実行部3で実
行される応用プログラムの数は、7×4×4=112個
となる。
The input value group of the argument generated in this way is
It is stored in the input value group storage unit 5, and by the parallel execution unit 3,
An application program is executed in parallel using these input values. When the application program takes a plurality of arguments, the application program is executed by combining all the input value groups generated for each argument. For example, if the application program takes three arguments, and in FIG. 2 2-1 designates the first argument, 2-2 designates the second argument, and 2-3 designates the third argument, FIG. As shown in FIG. 7, the first argument has seven input values, the second argument has four input values, and the third argument has four input value groups. Therefore, the number of application programs executed by the parallel execution unit 3 is 7 × 4 × 4 = 112.

【0040】次に、次世代の実行における入力値の生成
方法の指定について説明する。1つの世代の実行が完了
したら、評価結果蓄積部7に保存された結果を基に、良
い評価を得た引数入力値を採用し、その入力値の近傍の
値を次の世代の引数入力値として生成する。次世代の実
行における入力値の生成方法の指定では、どのように前
世代の引数入力値を採用するかということと、どのよう
に近傍の値を次の世代で生成するかを指定する。まず、
前世代の入力値の採用については、その世代の中で最も
良い評価値を持つ入力値から評価値の良い順に幾つかと
いう指定と、ある許容評価値以上を持つ入力値全てとい
う指定ができる。前者の指定では、他の入力に比べて相
対的に良いものから採用していくので、着実に解領域の
探索範囲が絞られ、高速に目的の解が探索できる可能性
が高い。一方、後者の指定では、他の入力値との相対で
はなく絶対的な許容評価値で採用を決めるので、探索範
囲の絞り込みは着実にはされないが、ある程度以上の質
の解を全て採用していくので、解の取りこぼしが少なく
なる可能性が高い。また、許容評価値で採用を指定する
場合は、その許容評価値を超える引数入力値が一つしか
ないことが分かっている場合は、それも指定しておく。
この一つとは、入力値群全体で一つか、または、入力値
の生成方法において複数の指定を行った場合は、各指定
範囲内で一つの場合がある。
Next, the specification of the input value generation method in the next-generation execution will be described. When the execution of one generation is completed, an argument input value that has obtained a good evaluation based on the result stored in the evaluation result storage unit 7 is adopted, and a value near the input value is replaced with the argument input value of the next generation. Generate as The specification of the input value generation method in the next generation execution specifies how to adopt the previous generation argument input value and how to generate a nearby value in the next generation. First,
Regarding the adoption of the input values of the previous generation, it is possible to designate from the input value having the best evaluation value in that generation to some values in descending order of the evaluation value, and to designate all the input values having a certain allowable evaluation value or more. In the former designation, since the input is adopted from those which are relatively better than other inputs, the search range of the solution area is steadily narrowed, and there is a high possibility that the target solution can be searched at high speed. On the other hand, in the latter specification, the decision is made based on the absolute allowable evaluation value rather than relative to other input values, so the search range is not narrowed down steadily, but all solutions of a certain level or more are adopted. It is likely that the number of missed solutions will be reduced. When the adoption is specified by the allowable evaluation value, if it is known that there is only one argument input value exceeding the allowable evaluation value, it is also specified.
This one may be one for the entire input value group, or one in each specified range when a plurality of designations are made in the input value generation method.

【0041】次に、次世代で探索する範囲を指定する。
これは、前世代で採用された入力値の近傍の大きさを指
定することに相当する。これは、次の世代で探索する範
囲を前世代の探索範囲の何分の一にするかを指定するこ
とにより行う。すなわち、前世代の探索範囲を指定され
た値で分割し、分割された領域のうち、前世代で採用さ
れた入力値を含む領域を次の世代の探索範囲とする。こ
の探索範囲とは、初期入力値の生成方法で指定した範
囲、すなわち、ステップ、逐次、ランダム指定における
最大値と最小値である。そして、次世代の引数入力値群
は、この範囲で初期入力値生成方法で指定された方法で
生成される。なお、ステップの場合は、次の世代で前世
代と同じステップ値で入力値群を生成しても意味がない
ので、次世代におけるステップ値は、前世代のステップ
値を探索範囲を分割した数で割った値にする。
Next, a range to be searched in the next generation is designated.
This is equivalent to designating a size near the input value adopted in the previous generation. This is performed by designating what percentage of the search range of the next generation is to be searched for in the next generation. That is, the search range of the previous generation is divided by the designated value, and the region including the input value adopted in the previous generation is set as the search range of the next generation. The search range is a range specified by a method of generating an initial input value, that is, a maximum value and a minimum value in step, sequential, and random specification. Then, the next-generation argument input value group is generated in this range by the method specified by the initial input value generation method. In the case of a step, since it is meaningless to generate an input value group with the same step value as the previous generation in the next generation, the step value in the next generation is calculated by dividing the step value of the previous generation by the search range. Divided by.

【0042】また、前世代で採用された入力値が複数存
在する場合は、それぞれの入力値に対する近傍の範囲が
重複する可能性がある。その場合は、1つの探索範囲と
して結合することで、重複した引数入力値群を生成しな
いようにする。これにより、次世代において、応用プロ
グラムの無駄な実行を防ぐことが可能となる。
When there are a plurality of input values adopted in the previous generation, there is a possibility that neighboring ranges for each input value may overlap. In that case, by combining them as one search range, duplicate argument input value groups are prevented from being generated. This makes it possible to prevent useless execution of the application program in the next generation.

【0043】図4は、次世代の実行における入力値の生
成方法指定の例である。4−1は、最も評価値の良いも
のを1つだけ採用し、次世代では探索範囲を2つに分割
することを指定している。4−2は、評価値が80以上
のものを採用し、次世代では探索範囲を3つに分割する
ことを指定している。4−3は、評価値が90以上のも
のを1つだけ採用し、次世代では探索範囲を4つに分割
することを指定している。
FIG. 4 shows an example of specifying an input value generation method in the next-generation execution. 4-1 specifies that only one having the best evaluation value is adopted, and the search range is divided into two in the next generation. 4-2 specifies that the evaluation value is 80 or more, and specifies that the search range is divided into three in the next generation. No. 4-3 specifies that only one having an evaluation value of 90 or more is adopted, and the search range is divided into four in the next generation.

【0044】図5は、各世代における引数入力値群の変
化すなわち探索範囲の変化を示した例である。5−1
は、、図2における2−2で示すsequent(2
0,8,4)により生成された前世代の引数入力値群
で、8から20までの4つの入力値「8,12,16,
20」であり、次世代の入力値の生成方法で図4におけ
る4−1で示すnarrow(best(1),2)が
指定されたとする。そして、5−1−1で示す入力値1
2の評価値が最も良く、次世代の探索に採用されたとす
る。5−2は、次世代の探索範囲を2分割した結果を示
す。すなわち、8から20までを14で分割し、前世代
で採用された入力値12を含む側である8から14まで
が次世代の探索範囲となる。5−3は、次世代の引数入
力値群、すなわち、8から14までの範囲の4つの入力
値群「8,10,12,14」を示し、次の世代では、
この引数入力値により応用プログラムが実行される。
FIG. 5 is an example showing a change in the argument input value group in each generation, that is, a change in the search range. 5-1
Is the sequence (2) indicated by 2-2 in FIG.
In the previous generation argument input value group generated by (0, 8, 4), four input values “8, 12, 16,
20, "narrow (best (1), 2)" indicated by 4-1 in FIG. 4 is specified by the next generation input value generation method. Then, an input value 1 indicated by 5-1-1
Assume that the evaluation value of 2 is the best and is adopted for the search of the next generation. 5-2 shows the result of dividing the search range of the next generation into two. That is, 8 to 20 are divided by 14, and 8 to 14 on the side including the input value 12 adopted in the previous generation is the next generation search range. 5-3 indicates a next-generation argument input value group, that is, four input value groups “8, 10, 12, 14” ranging from 8 to 14, and in the next generation,
The application program is executed by this argument input value.

【0045】以上のように、前世代で評価の良い引数入
力値を採用しその近傍を更に詳細に探索するので、前世
代の実行結果を基に有望な探索範囲を各世代ごとに少し
ずつ絞り込め、かつ、詳細な探索が可能となり、効率的
な最適解探索、すなわち最適設計が自動的に行える。ま
た、各世代で評価値の良い上位幾つかの引数入力値を採
用するので、その数を変化させることにより探索範囲の
絞り込みを制御することができる。更に、前世代で採用
された引数入力値が複数存在し、それらの近傍が重複し
ている場合は、その重複を除去して次世代の引数入力値
群が生成されるので、次世代において無駄な応用プログ
ラムの実行を防ぐことができる。また、各世代で、ある
評価値以上を持つ引数入力値をすべて採用することがで
きるので、個数ではなく、ある程度以上の質を有する解
を持つ引数入力値を全て採用することができ、解の取り
こぼしを少なくすることができる。
As described above, the input value having a good evaluation in the previous generation is adopted and its vicinity is searched in further detail. Therefore, the promising search range is narrowed down little by little for each generation based on the execution result of the previous generation. In addition, a detailed search can be performed, and an efficient optimal solution search, that is, an optimal design can be automatically performed. In addition, since several higher-order argument input values having good evaluation values are adopted in each generation, the number of the input values can be changed to control the narrowing of the search range. Furthermore, when there are a plurality of argument input values adopted in the previous generation and their neighborhoods are duplicated, the duplication is removed and a next-generation argument input value group is generated. Execution of various application programs can be prevented. In addition, in each generation, all argument input values having a certain evaluation value or more can be adopted, so that all argument input values having a solution having a certain quality or more can be adopted instead of the number. It is possible to reduce missing.

【0046】次に、全ての引数について1度に情報を指
定する場合、すなわち、次世代の実行における引数入力
値の生成にGAを用いる場合について説明する。この場
合は、まず、全ての引数について、各引数毎に、データ
型及び初期入力値の生成方法を指定する。これらの指定
方法は、各引数毎に引数情報を指定する場合と同じであ
る。すなわち、データ型については整数又は浮動小数を
指定することができ、初期入力値の生成方法については
「ステップ」、「逐次」又は「ランダム」を指定するこ
とができる。これらの指定は、初期個体群の生成に使用
される。なお、本装置における個体とは、引数入力値の
1つの組合せである。
Next, a case where information is specified for all arguments at once, that is, a case where GA is used to generate an argument input value in the next-generation execution will be described. In this case, for each argument, a data type and a method of generating an initial input value are specified for each argument. These designation methods are the same as when the argument information is designated for each argument. That is, an integer or a floating-point number can be specified for the data type, and "step", "sequential", or "random" can be specified for the method of generating the initial input value. These designations are used to generate the initial population. Note that the individual in the present device is one combination of the argument input values.

【0047】次に、GA操作を行うのに必要なパラメタ
を指定する。このパラメタは、個体数、交叉率及び突然
変異率である。個体数とは、各世代における個体群の
数、すなわち、各世代で実行される引数入力値の組合せ
数である。交叉率とは、2つの個体を選択した時に交叉
処理を行うかどうかの確率であり、突然変異率とは、突
然変異を行うかどうかの確率である。
Next, parameters necessary for performing the GA operation are specified. The parameters are the number of individuals, the crossover rate and the mutation rate. The number of individuals is the number of individuals in each generation, that is, the number of combinations of argument input values executed in each generation. The crossover rate is the probability of performing a crossover process when two individuals are selected, and the mutation rate is the probability of performing a mutation.

【0048】初期個体群の生成は、まず、各引数毎に初
期入力値の生成方法で個別に入力値群を生成し、次に、
各入力値群から個体数分の組合せをランダムに生成する
ことにより行われる。交叉処理は、ランダムに選択され
た2つの個体、すなわち、引数入力値の組合せ同士で、
ランダムに選択された対応する引数同士の入力値を入れ
換えることで行われる。なお、交叉処理において、単に
入力値を入れ換えて2つの子供を生成するのではなく、
対応する引数同士の入力値の平均値を子供の入力値とす
るという方法も考えられる。この場合は、交叉処理によ
って、1つの子供しか生成されない。突然変異処理は、
ランダムに選択された個体のランダムに選択された引数
の入力値を初期入力値の生成方法で指定された範囲内で
ランダムに生成された値に置き換えることで行われる。
The initial population is generated by first generating an input value group by the initial input value generation method for each argument.
This is performed by randomly generating combinations for the number of individuals from each input value group. The crossover process is performed between two randomly selected individuals, that is, combinations of argument input values.
This is performed by exchanging input values of corresponding arguments selected at random. It should be noted that in the crossover process, instead of simply exchanging input values to generate two children,
A method is conceivable in which the average value of the input values of the corresponding arguments is used as the input value of the child. In this case, only one child is generated by the crossover process. Mutation processing is
This is performed by replacing the input value of the randomly selected argument of the randomly selected individual with a randomly generated value within the range specified by the initial input value generation method.

【0049】図6から図8は、5引数の応用プログラム
における交叉、突然変異の例である。図6において、6
−1は交叉を行う片方の親、6−1−1は交叉対象1、
6−1−2は交叉対象2、6−2は交叉を行うもう片方
の親、6−2−1は交叉対象1、6−2−2は交叉対象
2である。図7において、7−1は交叉後の片方の子、
7−1−1は突然変異対象1、7−1−2は突然変異対
象2、7−2は交叉後のもう片方の子である。図8にお
いて、8−1は突然変異後の子、8−1−1は突然変異
対象1、8−1−2は突然変異対象2である。それぞれ
の引数の初期入力値の生成方法は、第1引数が図2の2
−1で、第2引数が図2の2−2で、第3引数が図2の
2−3で、第4引数が図2の2−1で、および第5引数
が図2の2−3で指定される方法で生成されるものとす
る。交叉処理においては、2つの引数入力値の組合せ、
すなわち2つの個体である図6の6−1、6−2にそれ
ぞれ示す「8,16,9,20,15」および「10,
8,13,18,19」について、それぞれ6−1−1
と6−2−1に示すランダムに選択された引数「16」
と「8」、およびそれぞれ6−1−2と6−2−2に示
す「15」と「19」の値を入れ換えることにより、こ
れら2つの引数入力値の組合せは、それぞれ図7の7−
1,7−2に示すように、「8,8,9,20,19」
および「10,16,13,18,15」となる。ま
た、突然変異においては、引数入力値の組合せである図
7の7−1に示す「8,8,9,20,19」につい
て、ランダムに選択された7−1−1及び7−1−2に
示す引数値「8」と「9」を初期入力値の生成方法で指
定された範囲内でランダムに生成された値に置き換える
ことにより、この引数入力値の組合せは図8の8−1に
示すようになる。
FIGS. 6 to 8 show examples of crossover and mutation in an application program with five arguments. In FIG. 6, 6
-1 is one parent to perform crossover, 6-1-1 is crossover target 1,
6-1-2 is the crossover target 2, 6-2 is the other parent that performs crossover, 6-2-1 is the crossover target 1, and 6-2-2 is the crossover target 2. In FIG. 7, 7-1 is one child after crossover,
7-1-1 is the mutation target 1, 7-1-2 is the mutation target 2, and 7-2 is the other child after crossover. In FIG. 8, 8-1 is a child after mutation, 8-1-1 is a mutation target 1, and 8-1-2 is a mutation target 2. The method of generating the initial input value of each argument is as follows.
2, the second argument is 2-2 in FIG. 2, the third argument is 2-3 in FIG. 2, the fourth argument is 2-1 in FIG. 2, and the fifth argument is 2-2 in FIG. It shall be generated by the method specified in 3. In the crossover process, a combination of two argument input values,
That is, “8, 16, 9, 20, 15” and “10,
8, 13, 18, and 19 ”, respectively.
And randomly selected argument "16" shown in 6-2-1
7 and “15” and “19” shown in 6-1-2 and 6-2-2, respectively, the combination of these two argument input values becomes
As shown in 1, 7-2, "8, 8, 9, 20, 19"
And "10, 16, 13, 18, 15". In the mutation, “8, 8, 9, 20, 19” shown in 7-1 of FIG. 7, which is a combination of the input values of the arguments, is selected at random for 7-1-1 and 7-1-1. By replacing the argument values “8” and “9” shown in FIG. 2 with values that are randomly generated within the range specified by the method for generating the initial input value, the combination of the argument input values is changed as shown in FIG. It becomes as shown in.

【0050】以上のように、次世代における引数入力値
の生成にGAを用いることにより、引数入力値の生成範
囲を絞り込むことがなく広い範囲で生成されるので、い
わゆる局所解に陥ることが少なくなり、多峰性を代表と
する多様な性質を持った広い分野の応用問題で、効率的
に最適解探索を行うことができる。
As described above, by using the GA for generating the argument input value in the next generation, the argument input value is generated in a wide range without narrowing down the generation range, so that the so-called local solution is less likely to occur. In other words, it is possible to efficiently search for an optimal solution in a wide range of application problems having various properties represented by multimodality.

【0051】応用プログラムに与える引数に関する情報
を指定したら、次は、実行の進め方を指定する。本装置
での1世代の実行方法には、入力値生成部2で生成され
た引数入力値の組合せについて、1世代で全てを応用プ
ログラムに与えて並列実行する方法の他に、ある指定さ
れた数ずつ並列実行する方法が用意されている。後者の
場合は、次世代において、入力値生成部2は、新たな入
力値を生成するのではなく、入力値群蓄積部5に残って
いる入力値を使用して、次世代の実行を行う。
After specifying the information on the arguments to be given to the application program, the next step is to specify how to proceed. In the one-generation execution method in the present apparatus, in addition to the method of giving all of the combinations of the argument input values generated by the input value generation unit 2 to the application program in one generation and executing the same in parallel, A method is provided for executing the programs in parallel. In the latter case, in the next generation, instead of generating a new input value, the input value generation unit 2 performs the next generation by using the input value remaining in the input value group storage unit 5. .

【0052】実行の進め方の指定においては、1つの世
代で1度に並列実行する引数入力値の組合せ数を指定す
る。この指定には、数値の他に、「無限」という指定も
可能である。「無限」と指定された場合は、入力値群蓄
積部5に保存されている全ての引数入力値の組合せが1
度に並列実行される。また、引数入力値の組合せ数が、
指定された数より少ない場合は、引数入力値の組合せ全
てが並列実行される。
In the specification of the execution procedure, the number of combinations of argument input values to be executed at once in one generation is specified. In this specification, "infinite" can be specified in addition to the numerical value. When “infinity” is designated, the combination of all the argument input values stored in the input value group storage unit 5 is 1
It is executed in parallel each time. Also, if the number of combinations of argument input values is
If the number is less than the specified number, all combinations of argument input values are executed in parallel.

【0053】更に、引数の初期入力値の生成方法の指定
において、1つの引数について、複数の指定を行った場
合は、指定された順に実行優先度が指定されたと見なし
て、その優先度順に実行が行われる。また、応用プログ
ラムが複数の引数を受け取る場合の実行優先度は、各引
数毎の優先度を掛け合わせたものとなる。
Further, when a plurality of designations are made for one argument in the designation of the method of generating the initial input value of the argument, it is considered that the execution priorities are designated in the designated order, and the execution is executed in the priority order. Is performed. When the application program receives a plurality of arguments, the execution priority is obtained by multiplying the priority for each argument.

【0054】図9は、2つの引数に関して、それぞれ2
つの入力値生成方法の指定を行っている例である。図9
の9−1は第1引数の入力値生成方法の指定で、9−2
は第2引数の入力値生成方法の指定である。また、9−
1−1は第1引数の第1の入力値生成方法の指定、9−
1−2は第1引数の第2の入力値生成方法の指定、9−
2−1は第2引数の第1の入力値生成方法の指定、9−
2−2は第2引数の第2の入力値生成方法の指定であ
る。図10は、図9で指定された入力値の生成方法によ
りそれぞれ生成された入力値群である。図10におい
て、10−1は9−1−1で指定された方法により生成
された引数入力値群、10−2は9−1−2で指定され
た方法により生成された引数入力値群、10−3は9−
2−1で指定された方法により生成された引数入力値
群、10−4は9−2−2で指定された方法により生成
された引数入力値群である。図10の10−1で示す入
力値群「8,10,12」は図9の9−1−1から、1
0−2で示す入力値群「16,18,20」は図9の9
−1−2から、10−3で示す入力値群「0,4,8」
は図9の9−2−1から、10−4で示す入力値群「2
0,24,28」は図9の9−2−2から生成される。
ここで、各引数毎の実行優先度は、生成方法が指定され
た順となるので、第1引数に関しては10−1で示す入
力値群「8,10,12」が第1優先、10−2で示す
入力値群「16,18,20」が第2優先となり、第2
引数に関しては10−3で示す入力値群「0,4,8」
が第1優先、10−4で示す入力値群「20,24,2
8」が第2優先となる。図11は、図10の2つの引数
の入力値群からの全ての組合せである。図11におい
て、11−1は第1優先度の引数入力値の組合せ、11
−2は第2優先度の引数入力値の組合せ、11−3は第
3優先度の引数入力値の組合せである。実際の実行優先
度は、各引数の優先度を掛け合わせたものでなので、引
数入力値の組合せの優先度は、11−1で示す入力値群
「8 0,8 4,8 8,・・・・,12 4,12
8」が第1優先、11−2で示す入力値群「8 2
0,824,・・・・,20 4,20 8」が第2優
先、11−3で示す入力値群「16 20,16 2
4,・・・・、20 24,20 28」が第3優先と
なり、1世代で実行される組合せ数が指定された場合
は、この優先度に従って、世代毎に指定された数の引数
入力値の組合せが応用プログラムに与えられ、並列実行
される
FIG. 9 shows two arguments for each of the two arguments.
This is an example in which one input value generation method is specified. FIG.
9-1 is the designation of the input value generation method of the first argument.
Is a designation of the input value generation method of the second argument. 9-
1-1 designates a method of generating a first input value of a first argument, 9-
1-2 designates a method for generating a second input value of the first argument, 9-
2-1 designates the first input value generation method of the second argument, 9-
2-2 is designation of a second input value generation method of the second argument. FIG. 10 shows input value groups generated by the input value generation method designated in FIG. 10, 10-1 is an argument input value group generated by the method specified by 9-1-1, 10-2 is an argument input value group generated by the method specified by 9-1-2, 10-3 is 9-
Argument input value group generated by the method specified in 2-1 is an argument input value group generated by the method specified in 9-2-2. The input value group “8, 10, 12” indicated by 10-1 in FIG.
The input value group “16, 18, 20” indicated by 0-2 corresponds to 9 in FIG.
Input value group "0, 4, 8" indicated by -1-2 to 10-3
Are input value groups “2” indicated by 9-2-1 to 10-4 in FIG.
"0, 24, 28" is generated from 9-2-2 in FIG.
Here, the execution priority of each argument is in the order in which the generation method is specified, so that the input value group “8, 10, 12” indicated by 10-1 is the first priority, The input value group “16, 18, 20” indicated by 2 has the second priority, and the second
For the argument, input value group “0, 4, 8” indicated by 10-3
Is the first priority and the input value group “20, 24, 2” indicated by 10-4
8 "is the second priority. FIG. 11 shows all combinations from the input value group of the two arguments in FIG. In FIG. 11, reference numeral 11-1 denotes a combination of argument input values of the first priority;
-2 is a combination of argument input values of the second priority, and 11-3 is a combination of argument input values of the third priority. Since the actual execution priority is obtained by multiplying the priority of each argument, the priority of the combination of the argument input values is represented by the input value group “80, 84, 88,. .., 12 4,12
8 ”is the first priority, and the input value group“ 82 ”indicated by 11-2
., 20 4, 20 8 ”is the second priority, and the input value group“ 16 20, 16 2 ”indicated by 11-3
,..., 20 24, 20 28 ”is the third priority, and when the number of combinations to be executed in one generation is specified, the number of argument input values specified for each generation according to this priority Is given to the application program and executed in parallel

【0055】以上のように、1つの世代で全ての引数入
力値の組合せを実行せず、同時には固定の数しか実行し
ない機能を設けることにより、使用記憶容量及びCPU
資源の削減等の本装置の実行環境に合わせた制御が可能
となり、効率的な最適解探索が行える。更に、引数入力
値に実行優先度を指定する機能を設けることにより、有
望な引数入力値から順に応用プログラムに与えて実行す
ることが可能となり、満足する解が高速に探索できる可
能性が高くなる。
As described above, by providing a function that does not execute all combinations of the argument input values in one generation and executes only a fixed number at the same time, the used storage capacity and CPU
Control according to the execution environment of the present apparatus, such as resource reduction, can be performed, and an efficient optimal solution search can be performed. Further, by providing a function for designating the execution priority to the argument input value, it becomes possible to give the application program in order from the most probable argument input value and execute it, and it is more likely that a satisfactory solution can be searched at high speed. .

【0056】ここで、並列実行部3における、次世代へ
の移行制御方法について説明する。並列実行部3では、
各応用プログラムの実行中に、評価結果蓄積部7に蓄積
された評価結果を定期的に監視することにより、各引数
入力値の組合せに対応する応用プログラムの終了を検知
する。そして、その世代に実行すべき引数入力値の組合
せが全て終了したら、終了判定部4に制御を渡す。ただ
し、次世代の入力値の採用方法が「許容評価値以上」で
ある場合は、その世代の全ての実行を待ち合わせる必要
はなく、採用された引数入力値について、直ぐに次世代
の実行へ移行することができる。この場合、並列実行部
3では、複数の世代の応用プログラムの実行が同時に行
われることになる。
Here, a method of controlling the transition to the next generation in the parallel execution unit 3 will be described. In the parallel execution unit 3,
During execution of each application program, the end of the application program corresponding to each combination of argument input values is detected by periodically monitoring the evaluation results stored in the evaluation result storage unit 7. Then, when all the combinations of the argument input values to be executed for the generation are completed, the control is passed to the end determination unit 4. However, if the adoption method of the next-generation input value is “greater than or equal to the permissible evaluation value”, there is no need to wait for all the executions of that generation. be able to. In this case, the parallel execution unit 3 simultaneously executes a plurality of generations of application programs.

【0057】また、許容評価値以上の引数入力値の組合
せが1つしかないと指定されている場合は、許容評価値
以上の引数入力値の組合せが見つかった場合は、その世
代のその他の引数入力値の組合せに対応する応用プログ
ラムの実行をアボートする。本装置が動作するような環
境における通常のオペレーティングシステムには、プロ
セスIDを指定することにより実行中のプログラムをア
ボートする機能を備えている。従って、各引数入力値の
組合せとそれに対応する応用プログラムの実行プロセス
のIDのペアを記憶しておくことにより、前記の採用さ
れた引数入力値の組合せ以外の応用プログラム実行をア
ボートすることは容易である。
If it is specified that there is only one combination of argument input values equal to or more than the allowable evaluation value, and if a combination of argument input values equal to or more than the allowable evaluation value is found, the other arguments of that generation Abort the execution of the application program corresponding to the combination of input values. A normal operating system in an environment in which the present apparatus operates has a function of aborting a running program by designating a process ID. Therefore, by storing the combination of the combination of each argument input value and the ID of the execution process of the corresponding application program corresponding to the combination, it is easy to abort the execution of the application program other than the adopted combination of argument input values. It is.

【0058】更に、1つの引数に対して入力値生成方法
が複数指定されている場合に、それぞれの指定を1つの
グループとして扱い、そのグループ内で許容評価値を超
える組合せが1つしかないと指定されている場合があ
る。その場合は、許容評価値以上の引数入力値の組合せ
が見つかった時に、グループ内の他の応用プログラムの
実行をアボートし、直ぐにそのグループについて、次の
世代の実行に移行する。この実現方法に関しても、各グ
ループにユニークなIDを設け、そのグループID、各
引数入力値の組合せ及びそれに対応する応用プログラム
の実行プロセスのIDの組みを記憶しておくことによ
り、グループ内の採用された引数入力値の組合せ以外の
応用プログラム実行をアボートすることは容易である。
Further, when a plurality of input value generation methods are specified for one argument, each specification is treated as one group, and if there is only one combination exceeding the allowable evaluation value in that group. May be specified. In this case, when a combination of argument input values equal to or more than the allowable evaluation value is found, the execution of another application program in the group is aborted, and the group immediately shifts to the next generation execution. Also for this realization method, a unique ID is provided for each group, and a combination of the group ID, the combination of each argument input value, and the ID of the execution process of the application program corresponding to the combination is stored in the group. It is easy to abort the execution of the application program other than the combination of the input argument values.

【0059】以上のように、次世代の入力値の採用方法
が「許容評価値以上」である場合は、採用された引数入
力値について直ぐに次世代の実行へ移行することによ
り、常時、同じ程度の数の応用プログラムが並列実行さ
れることになるので、その数が並列実行環境で利用可能
なCPUの数を下回ることが少なくなり、効率的にCP
U資源を利用することができ、それにより、全体の実行
時間も短縮される。また、許容評価値以上の引数入力値
の組合せが1つしかないと指定されている場合は、許容
評価値以上の引数入力値の組合せが見つかった時に、そ
の世代のその他の引数入力値の組合せに対応する応用プ
ログラムの実行をアボートすることにより、結果的に無
駄となる引数入力値の組合せに対応する応用プログラム
実行を早期に終了させることができ、無駄の少ない最適
設計が可能となる。更に、許容評価値以上の引数入力値
の組合せがグループで1つしかないという指定を許すこ
とにより、より広い範囲の最適設計問題で、許容評価値
以上の引数入力値組合せを採用するという機能が利用で
きるようになり、その機能を利用した時の効果、すなわ
ち、無駄の少ない最適設計を広い範囲の最適設計問題に
適用できるようになる。
As described above, when the adoption method of the next-generation input value is “more than the permissible evaluation value”, the process immediately shifts to the next-generation execution for the adopted argument input value, so that the same value is always obtained. Of application programs are executed in parallel, so that the number of application programs is less than the number of CPUs available in the parallel execution environment.
U resources can be utilized, thereby also reducing overall execution time. Also, if it is specified that there is only one combination of argument input values equal to or more than the allowable evaluation value, when a combination of argument input values equal to or more than the allowable evaluation value is found, the combination of other argument input values of that generation By aborting the execution of the application program corresponding to (1), the execution of the application program corresponding to a combination of the argument input values that is consequently wasted can be terminated early, and an optimal design with less waste can be performed. Further, by permitting the specification that there is only one combination of argument input values exceeding the allowable evaluation value in a group, a function of adopting an argument input value combination equal to or more than the allowable evaluation value in a wider range of optimal design problems is provided. This makes it possible to apply the effect of using the function, that is, to apply the optimal design with less waste to a wide range of optimal design problems.

【0060】次に、引数入力値の固定化について説明す
る。本装置では、求まった解の質がある程度収束してき
たら、応用プログラムが受け取る引数のうち、いくつか
の引数の入力値を世代毎に変化させず固定にし、残りの
引数についてだけ複数の入力値を生成して、世代実行を
継続することがきる。この引数入力値の固定化は、入力
値生成部2で、新たな引数入力値を生成する前に、例え
ば次のように行われる。評価結果蓄積部7の内容、すな
わち、引数入力値の組合せとそれに対応する応用プログ
ラムの実行評価値の組みを評価値の良い順に並び替え、
上位幾つかの引数入力値の組合せで、入力値がほとんど
同じ値である引数が存在するかどうかをチェックし、そ
のような引数が存在すれば、その世代からその引数の値
を固定にし、残りの引数についてのみ、これまで通り入
力値の生成を行う。
Next, the fixing of the argument input value will be described. In this system, when the quality of the obtained solution converges to some extent, among the arguments received by the application program, the input values of some arguments are fixed without changing for each generation, and multiple input values are set only for the remaining arguments. Generate and continue generation execution. This fixing of the argument input value is performed, for example, as follows before the input value generation unit 2 generates a new argument input value. Sort the contents of the evaluation result storage unit 7, that is, the combination of the argument input value and the corresponding execution evaluation value of the application program in descending order of the evaluation value,
Check if there is an argument whose input value is almost the same in the combination of several upper argument input values, and if such an argument exists, fix the value of that argument from that generation, and The input value is generated as before for only the argument of.

【0061】以上のように、求まった解の質がある程度
収束してきたら、応用プログラムが受け取る引数のう
ち、いくつかの引数の入力値を世代毎に変化させず固定
にし、残りの引数についてだけ複数の入力値を生成する
ことにより、引数入力値の組合せの数が少なくなるの
で、対応する応用プログラムの実行数も少なくなり、よ
り高速に最適設計を行うことが可能となる。
As described above, when the quality of the obtained solution converges to some extent, among the arguments received by the application program, the input values of some arguments are fixed without changing for each generation, and only a plurality of arguments are received for the remaining arguments. Is generated, the number of combinations of argument input values is reduced, so that the number of executions of the corresponding application program is also reduced, and it is possible to perform an optimal design at higher speed.

【0062】次に、本装置の終了方法について説明す
る。本装置の終了方法は、幾つか用意されており、その
指定は実行条件設定部1で行う。まず第1の終了方法
は、指定された数だけ世代が実行されたら終了するとい
うものである。これは、評価結果蓄積部7に世代数を格
納し、終了判定部4でそれをチェックすることによって
実現できる。
Next, a method of terminating the present apparatus will be described. Several methods for ending the apparatus are prepared, and the specification is performed by the execution condition setting unit 1. First, the first termination method is to terminate when a specified number of generations have been executed. This can be realized by storing the number of generations in the evaluation result storage unit 7 and checking it by the end determination unit 4.

【0063】第2に、指定された時間が経過したら、全
ての応用プログラムの実行をアボートして、終了すると
いうものである。これは、並列実行部3で世代内の全て
の応用プログラムの終了を検知するために定期的に評価
結果蓄積部7に蓄積された評価結果を監視する際に、起
動時からの経過時間をチェックすることにより、実現可
能である。この終了方法により、一定時間経過したら必
ず本装置は終了するので、例えば、夜中に本装置を起動
し、翌朝には必ず終了させておく、といったことが可能
となるので、本装置を動作させる並列実行環境を複数の
ユーザが使用している場合に、他のユーザの迷惑になら
ない使用方法が可能となる。
Second, after the designated time has elapsed, the execution of all application programs is aborted and the process is terminated. This is because when the parallel execution unit 3 periodically monitors the evaluation results stored in the evaluation result storage unit 7 in order to detect the end of all application programs in the generation, it checks the elapsed time from the start. By doing so, it can be realized. According to this termination method, the apparatus is always terminated after a certain period of time. For example, it is possible to start the apparatus in the middle of the night and always terminate the apparatus in the next morning. When the execution environment is used by a plurality of users, a usage method that does not bother other users becomes possible.

【0064】第3の終了方法は、世代毎の最良評価値の
変化が指定された比率以下になったら終了するというも
のである。これは、評価結果蓄積部7に前世代及び現世
代の2つの最良評価値を記憶させ、終了判定部4で、そ
の2つの値を比較することにより実現可能である。この
終了方法により、解の質が収束してきたら、自動的に終
了させることができ、無意味な実行を抑制することが可
能となる。
The third ending method is to end when the change of the best evaluation value for each generation becomes equal to or less than a specified ratio. This can be realized by storing the two best evaluation values of the previous generation and the current generation in the evaluation result storage unit 7 and comparing the two values in the end determination unit 4. According to this termination method, when the quality of the solution converges, the solution can be automatically terminated, and meaningless execution can be suppressed.

【0065】第4の終了方法は、最良評価値が指定され
た値に到達したら終了するというものである。これは、
評価結果蓄積部7に現世代の最良評価値を記憶させ、終
了判定部4で、その値と指定された値を比較することに
より実現可能である。この終了方法により、ユーザの必
要とする質の解が求まったら自動的に終了させることが
でき、無意味な実行を抑制することが可能となる。
The fourth ending method is to end when the best evaluation value reaches a specified value. this is,
This can be realized by storing the best evaluation value of the current generation in the evaluation result storage unit 7 and comparing the value with a designated value in the end determination unit 4. According to this termination method, when a solution of the quality required by the user is obtained, the termination can be automatically terminated, and the meaningless execution can be suppressed.

【0066】第5の終了方法は、ユーザによる手動停
止、すなわち、端末などからのインタラプトにより停止
するというものである。これは、端末からインタラプト
がかかったら、評価結果蓄積部7に「全体終了」という
印を格納し、並列実行部3で世代内の全ての応用プログ
ラムの終了を検知するために定期的に評価結果蓄積部7
に蓄積された評価結果を監視する際に、この印が存在す
るかどうかをチェックすることにより実現可能である。
この終了方法により、ユーザの意志によりいつでも本装
置を終了させることが可能となる。
The fifth termination method is a manual termination by a user, that is, a termination by an interrupt from a terminal or the like. This is because, when an interrupt is received from the terminal, a mark "whole end" is stored in the evaluation result storage unit 7, and the parallel execution unit 3 periodically detects the end of all the application programs in the generation. Storage unit 7
This can be realized by checking whether or not this mark is present when monitoring the evaluation results stored in.
According to this termination method, the present device can be terminated at any time by the user's will.

【0067】次に、本装置の実行状況の表示について説
明する。実行状況表示部9では、本装置の実行の流れと
は独立して、定期的に評価結果蓄積部7に蓄積された評
価結果を参照することで、端末に実行状況の表示を行
う。実行状況には、引数入力値とそれに対応する評価値
と各世代毎の最も良い評価値の2種類がある。これら2
種類が、一定間隔で更新され、端末に表示される。
Next, the display of the execution status of the apparatus will be described. The execution status display unit 9 displays the execution status on the terminal by periodically referring to the evaluation results stored in the evaluation result storage unit 7 independently of the execution flow of the present apparatus. There are two types of execution status: the argument input value, the corresponding evaluation value, and the best evaluation value for each generation. These two
The type is updated at regular intervals and displayed on the terminal.

【0068】図12は、引数入力値とそれに対応する評
価値の表示例で、横軸が引数入力値で縦軸が評価値とな
っている。この表示により、使用者がどのような入力値
の評価値が良いのか等の入力値と評価値の相関を本装置
の実行途中でリアルタイムに見ることが可能となる。
FIG. 12 is a display example of the argument input value and the corresponding evaluation value. The horizontal axis represents the argument input value and the vertical axis represents the evaluation value. This display allows the user to see in real time the correlation between the input value and the evaluation value, such as what input value the evaluation value is good, during the execution of the present apparatus.

【0069】図13は、各世代毎の最良評価値の表示例
で、横軸が世代数で縦軸が評価値となっている。この表
示により、世代毎に実行結果がどの程度良くなっている
のか等の世代毎の解の収束状況を本装置の実行途中でリ
アルタイムに見ることが可能となる。
FIG. 13 is a display example of the best evaluation value for each generation. The horizontal axis indicates the number of generations and the vertical axis indicates the evaluation value. With this display, it is possible to see in real time the convergence state of the solution for each generation, such as how much the execution result is improved for each generation, during the execution of the present apparatus.

【0070】更に、実行状況表示部9では、使用者から
の操作により、実行を中断し、実行条件を変更すること
ができる。これは、評価結果蓄積部7に実行条件変更と
いう印を書き込み、並列実行部3で世代内の全ての応用
プログラムの終了を検知するために定期的な評価結果蓄
積部7に蓄積された評価結果を監視する際に、その実行
条件変更という印を見つけたら、終了判定部4へ制御を
渡し、終了判定部4でも評価結果蓄積部7から実行条件
変更の印を見つけたら、実行条件設定部1に制御を渡す
ことで実現できる。なお、並列実行部3で実行条件変更
という印を見つけた際に、全ての応用プログラムの実行
をアボートすることも可能である。
Further, in the execution status display section 9, the execution can be interrupted and the execution conditions can be changed by the operation of the user. This is because the execution condition change mark is written in the evaluation result storage unit 7, and the evaluation results stored in the periodic evaluation result storage unit 7 are periodically stored in the parallel execution unit 3 in order to detect the end of all application programs in the generation. When monitoring the execution condition, if a mark indicating that the execution condition has been changed is found, control is passed to the end determination unit 4. If the end determination unit 4 also finds a mark indicating that the execution condition has been changed from the evaluation result storage unit 7, the execution condition setting unit 1 It can be realized by passing control to. When the parallel execution unit 3 finds a mark indicating that the execution condition has been changed, it is also possible to abort the execution of all the application programs.

【0071】以上のように、使用者からの操作により、
実行条件を設定変更できることにより、使用者が実行状
況を見て引数入力値の生成方法などの最適設計の方策を
変更することが可能となるので、効率的な最適設計が行
える。
As described above, by the operation of the user,
Since the setting of the execution condition can be changed, the user can change the optimal design policy such as the method of generating the argument input value while observing the execution status, so that the efficient optimal design can be performed.

【0072】[0072]

【発明の効果】本発明は、以上説明したように構成され
ているので、下記に示すような効果を奏する。本発明に
よれば、与えられた引数入力値の組合せを基に設計を行
う応用プログラムの名前、引数の情報、実行の進め方、
終了条件を設定する実行条件設定手段と、設定された実
行条件及び前回の応用プログラムが求めた解の質を表す
評価結果を基に、応用プログラムに与える引数入力値の
組合せを複数生成する引数入力値生成手段と、生成され
た複数の引数入力値の組合せを応用プログラムに与えて
並列に実行する並列実行手段と、全ての応用プログラム
の実行が終了した後、満足のいく解が得られたかどうか
を判断する終了判定手段とを備え、満足のいく解が得ら
れれば終了し、満足のいく解が得られなければ再び引数
入力値生成手段により引数入力値を生成し応用プログラ
ムの実行を繰り返すようにしたので、前回のプログラム
実行の引数入力値とそれに対応する解の評価値を基に、
次の実行の引数入力値を決めることができ、最適な解の
探索が効率的に高速に行え、更に、応用プログラムの実
行に関しては、それぞれの引数入力値を用いた応用プロ
グラムの実行を並列に行うので、最適な解を高速に求め
ることができる。
Since the present invention is configured as described above, it has the following effects. According to the present invention, the name of an application program to be designed based on a given combination of argument input values, information on arguments, how to proceed with execution,
An execution condition setting means for setting an end condition, and an argument input for generating a plurality of combinations of argument input values to be given to the application program based on the set execution conditions and an evaluation result indicating the quality of the solution obtained by the previous application program. Value generation means, parallel execution means for giving a combination of a plurality of generated argument input values to an application program and executing the program in parallel, and whether a satisfactory solution has been obtained after execution of all the application programs has been completed. End determination means for judging the condition. If a satisfactory solution is obtained, the processing is terminated. If a satisfactory solution is not obtained, an argument input value is generated again by the argument input value generation means, and execution of the application program is repeated. Therefore, based on the input value of the argument of the previous program execution and the evaluation value of the corresponding solution,
Argument input values for the next execution can be determined, the optimal solution can be searched efficiently and quickly, and the execution of the application program using each argument input value can be performed in parallel with respect to the execution of the application program. Therefore, an optimal solution can be obtained at high speed.

【0073】満足のいく解が得られなかった際の次回の
引数入力値の生成において、前回の実行で良い評価結果
が得られた引数入力値のみ採用し、採用された引数入力
値の近傍を前回より細かな範囲で分割して引数入力値の
組合せの生成を行う引数入力値生成手段を備えることに
より、前回の実行結果を基に有望な探索範囲を各実行の
繰り返しごとに少しずつ絞り込め、かつ、詳細な探索が
可能となり、効率的な最適解探索、すなわち最適設計が
行える。
In the generation of the next argument input value when a satisfactory solution is not obtained, only the argument input values for which a good evaluation result was obtained in the previous execution are adopted, and the neighborhood of the adopted argument input values is determined. Providing an argument input value generation unit that generates a combination of argument input values by dividing it in a smaller range than the previous time, narrows down the promising search range a little at each repetition of each execution based on the previous execution result In addition, a detailed search can be performed, and an efficient optimal solution search, that is, an optimal design can be performed.

【0074】満足のいく解が得られなかった際の次回の
引数入力値の生成において、前回の実行で良い評価結果
が得られた引数入力値の採用するに当たって、最も良い
評価結果が得られた引数入力値から評価結果が良い順に
設定された数の引数入力値を採用し、それらの引数入力
値の近傍を前回より細かな範囲で分割して引数入力値の
組合せの生成を行う引数入力値生成手段を備えることに
より、引数入力値を採用する数を使用者が設定すること
ができるので、探索範囲の絞り込みを制御することがで
きる。
In the generation of the next argument input value when a satisfactory solution was not obtained, the best evaluation result was obtained in adopting the argument input value that obtained a good evaluation result in the previous execution. Argument input value that adopts the number of argument input values set in order of good evaluation result from the argument input value and divides the vicinity of those argument input values into a smaller range than the previous time to generate a combination of argument input values By providing the generation unit, the number of the argument input values can be set by the user, so that the search range can be narrowed down.

【0075】満足のいく解が得られなかった際の次回の
引数入力値の生成において、前回の実行で良い評価結果
が得られた引数入力値を採用するに当たって、設定され
た評価基準以上の評価結果が得られた引数入力値全てを
採用し、それらの引数入力値の近傍を前回より細かな範
囲で分割して引数入力値の組合せの生成を行う引数入力
値生成手段を備えることにより、採用する引数入力値の
個数ではなく、ある程度以上の質の引数入力値を全て採
用することができ、解の取りこぼしを少なくすることが
できる。
In the generation of the next argument input value when a satisfactory solution is not obtained, when an argument input value that has obtained a good evaluation result in the previous execution is adopted, an evaluation that is higher than a set evaluation criterion is adopted. Adopted by adopting all the argument input values for which the results were obtained, and by providing an argument input value generation means for generating a combination of the argument input values by dividing the vicinity of those argument input values into a smaller range than the previous time. Instead of the number of argument input values to be executed, all of the argument input values having a certain quality or more can be adopted, and the number of missed solutions can be reduced.

【0076】満足のいく解が得られなかった際の次回の
引数入力値の生成において、採用された引数入力値の近
傍を前回より細かな範囲で生成を行う際に、同じ値の引
数入力値の重複を除去する引数入力値生成手段を備える
ことにより、無駄な応用プログラムの実行を防ぐことが
できる。
In the next generation of the argument input value when a satisfactory solution is not obtained, when the neighborhood of the adopted argument input value is generated in a smaller range than the previous time, the same argument input value is generated. By providing an argument input value generating means for eliminating duplication of the above, execution of useless application programs can be prevented.

【0077】満足のいく解が得られなかった際の次回の
引数入力値の生成において、前回の実行で良い評価結果
が得られた引数入力値を採用するに当たって、設定され
た評価基準以上の評価結果が得られた引数入力値全てを
採用し、引数入力値の1つの組合せによる応用プログラ
ムの実行が終了し、その評価結果が設定された評価基準
以上であった場合に、他の引数入力値の組合せによる応
用プログラムの実行終了を待たずに、直ちにその引数入
力値の近傍を前回より細かな範囲で分割して引数入力値
を生成し、生成された引数入力値の組合せを応用プログ
ラムに与えて並列に実行することにより、常時、同じ程
度の数の応用プログラムが並列実行されることになるの
で、その数が並列実行環境で利用可能なCPUの数を下
回ることが少なくなり、効率的にCPU資源を利用する
ことができ、それにより、全体の実行時間も短縮され
る。
In the generation of the next argument input value when a satisfactory solution is not obtained, when an argument input value that has obtained a good evaluation result in the previous execution is adopted, an evaluation value equal to or higher than the set evaluation criterion is used. When all of the argument input values for which the result has been obtained are adopted and the execution of the application program by one combination of the argument input values is completed and the evaluation result is equal to or greater than the set evaluation criterion, the other argument input values are used. Without immediately waiting for the execution of the application program by the combination of the above, the vicinity of the argument input value is immediately divided into a smaller range than the previous time to generate the argument input value, and the generated combination of the argument input values is given to the application program. By executing the programs in parallel, the same number of application programs are always executed in parallel, so that the number of application programs is less than the number of CPUs available in the parallel execution environment. Ri, it is possible to efficiently utilize the CPU resource, and thereby are shortened overall execution time.

【0078】満足のいく解が得られなかった際の次回の
引数入力値の生成において、前回の実行で良い評価結果
が得られた引数入力値を採用するに当たって、設定され
た評価基準以上の評価結果が得られた引数入力値全てを
採用し、設定された評価基準以上の評価結果を満足する
引数入力値が1つしか存在しないと使用者により設定さ
れている場合、1つの引数入力値の組合せによる応用プ
ログラムの実行が終了し、その評価結果が設定された評
価基準以上であった場合に、他の引数入力値の組合せに
よる応用プログラムの実行をすべてアボートし、直ちに
その引数入力値の近傍を前回より細かな範囲で分割して
引数入力値を生成し、生成された引数入力値の組合せを
応用プログラムに与えて並列に実行することにより、結
果的に無駄となる引数入力値の組合せに対応する応用プ
ログラム実行を早期に終了させることができ、無駄の少
ない最適設計が可能となる。
In the generation of the next argument input value when a satisfactory solution is not obtained, when the argument input value for which a good evaluation result was obtained in the previous execution is adopted, an evaluation value that is equal to or higher than the set evaluation criterion is adopted. If it is set by the user that there is only one argument input value that satisfies the evaluation result equal to or higher than the set evaluation criterion by adopting all the argument input values for which the result is obtained, one argument input value When the execution of the application program by the combination is completed and the evaluation result is equal to or greater than the set evaluation criterion, all executions of the application program by the combination of other argument input values are aborted, and immediately near the argument input value. Is divided into smaller ranges than the previous time to generate argument input values, and the generated combination of argument input values is given to an application program and executed in parallel, resulting in wasteful use. Can terminate the execution application program corresponding to the combination of several input values to the early, it is possible to less wasteful optimal design.

【0079】満足のいく解が得られなかった際の次回の
引数入力値の生成において、前回の実行で良い評価結果
が得られた引数入力値を採用するに当たって、設定され
た評価基準以上の評価結果が得られた引数入力値全てを
採用し、設定された評価基準以上の評価結果を満足する
引数入力値が設定された範囲内に1つしか存在しないと
使用者により設定されている場合、1つの引数入力値の
組合せによる応用プログラムの実行が終了し、その評価
結果が設定された評価基準以上であった場合に、設定さ
れた範囲内の他の引数入力値の組合せによる応用プログ
ラムの実行をすべてアボートし、直ちにその引数入力値
の近傍を前回より細かな範囲で分割して引数入力値を生
成し、生成された引数入力値の組合せを応用プログラム
に与えて並列に実行することにより、より広い範囲の最
適設計問題で、許容評価値以上の引数入力値組合わせを
採用するという機能が利用できるようになり、その機能
を利用した時の効果、すなわち、無駄の少ない最適設計
を広い範囲の最適設計問題に適用できるようになる。
In the generation of the next argument input value when a satisfactory solution is not obtained, when the argument input value for which a good evaluation result was obtained in the previous execution is adopted, an evaluation that is higher than the set evaluation criterion is adopted. If the user adopts all of the argument input values for which the results have been obtained and the user has determined that there is only one argument input value within the set range that satisfies the evaluation result that is equal to or greater than the set evaluation criteria, When the execution of the application program by the combination of one argument input value is completed and the evaluation result is equal to or greater than the set evaluation criterion, the execution of the application program by the combination of other argument input values within the set range Are immediately aborted, the neighborhood of the argument input value is immediately divided into smaller ranges than the previous time to generate the argument input value, and the generated combination of the argument input values is given to the application program and executed in parallel. By doing so, it becomes possible to use the function of adopting a combination of argument input values that is equal to or greater than the allowable evaluation value in a wider range of optimal design problems, and the effect of using that function, that is, the optimization with less waste The design can be applied to a wide range of optimal design problems.

【0080】生成された引数入力値の組合せを応用プロ
グラムに与えて並列実行する際に、全ての生成された引
数入力値の組合せを1度に並列実行するのではなく、設
定された数だけ並列実行し、それらの実行が終了し満足
のいく解が得られなかった場合、残りの引数入力値の組
合せのうち設定された数だけ並列実行することを繰り返
すことにより、使用記憶容量及びCPU資源の削減等の
本装置の実行環境に合わせた制御が可能となり、効率的
な最適解探索が行える。
When the generated combinations of the argument input values are given to the application program and executed in parallel, not all the generated combinations of the argument input values are executed in parallel at once, but in parallel by the set number. When the execution is completed and a satisfactory solution is not obtained, the parallel execution is repeated by the set number of the remaining combinations of the input values of the arguments, thereby reducing the used storage capacity and the CPU resources. Control according to the execution environment of the present apparatus, such as reduction, can be performed, and efficient optimal solution search can be performed.

【0081】引数入力値の生成において生成される引数
入力値に実行優先度を設定する手段を備え、生成された
引数入力値の組合せを応用プログラムに与えて並列実行
する際に、全ての生成された引数入力値の組合せを1度
に並列実行するのではなく、設定された実行優先度順に
設定された数だけ並列実行し、それらの実行が終了し満
足のいく解が得られなかった場合、残りの引数入力値の
組合せのうち設定された実行優先度順に設定された数だ
け並列実行することを繰り返すことにより、有望な引数
入力値から順に応用プログラムに与えて実行することが
可能となり、満足する解が高速に探索できる可能性が高
くなる。
A means is provided for setting the execution priority to the argument input value generated in the generation of the argument input value. When the combination of the generated argument input values is given to the application program and executed in parallel, all the generated If the set of argument input values are not executed in parallel at once, but are executed in parallel in the set execution priority order and in the set number of times, and the execution is completed and a satisfactory solution is not obtained, By repeating the parallel execution for the set number of combinations of the remaining argument input values in the order of the set execution priority, it is possible to give the application program and execute it in order from the most probable argument input values. It is more likely that the solution to be searched can be searched at high speed.

【0082】満足のいく解が得られなかった際の次回の
引数入力値の生成において、前回の引数入力値の組合せ
に対して、交叉、突然変異、淘汰の遺伝的操作を施すこ
とにより、引数入力値の生成を行う引数入力値生成手段
を備えることにより、引数入力値の生成範囲を絞り込む
ことなく広い範囲で引数入力値が生成されるので、いわ
ゆる局所解に陥ることが少なくなり、多峰性を代表とす
る多様な性質を持った広い分野の応用問題で、効率的に
最適解探索を行うことができる。
In the generation of the next argument input value when a satisfactory solution is not obtained, by performing genetic operations such as crossover, mutation, and selection on the combination of the previous argument input values, By providing the argument input value generation means for generating the input value, the argument input value is generated in a wide range without narrowing the generation range of the argument input value, so that the so-called local solution is reduced, and It is possible to efficiently search for optimal solutions for a wide range of application problems with various properties represented by sex.

【0083】満足のいく解が得られなかった際の次回の
引数入力値の生成において、評価結果の良い引数入力値
の組合せのうち、同じ値の多い引数はその値に固定し、
その他の残りの引数について、採用された引数入力値の
近傍を前回より細かな範囲で生成を行う引数入力値生成
手段を備えることにより、引数入力値の組合わせの数が
少なくなるので、対応する応用プログラムの実行数も少
なくなり、より高速に最適設計を行うことが可能とな
る。
In the next generation of the argument input value when a satisfactory solution is not obtained, among the combinations of the argument input values having a good evaluation result, the argument having the same value is fixed to the value.
By providing an argument input value generating means for generating the vicinity of the adopted argument input value in a smaller range than the previous one for other remaining arguments, the number of combinations of the argument input values is reduced, so that The number of executions of the application program is reduced, and the optimum design can be performed at higher speed.

【0084】引数入力値とそれに対応する応用プログラ
ムが求めた解の評価結果の対応を端末にグラフ表示する
機能を備えることにより、使用者がどのような入力値の
評価値が良いのか等の入力値と評価値の相関を本装置の
実行途中でリアルタイムに見ることが可能となる。
By providing a function for displaying the correspondence between the argument input value and the evaluation result of the solution obtained by the corresponding application program on the terminal in a graph, the user can input what kind of input value evaluation value is good. The correlation between the value and the evaluation value can be seen in real time during the execution of the present apparatus.

【0085】応用プログラムが求めた解の評価結果のう
ち、最も良い評価結果の時間的推移を端末にグラフ表示
する機能を備えることにより、世代毎に実行結果がどの
程度良くなっているのか等の世代毎の解の収束状況を本
装置の実行途中でリアルタイムに見ることが可能とな
る。
By providing a terminal with a function of graphically displaying the time transition of the best evaluation result among the evaluation results of the solution obtained by the application program, it is possible to determine how much the execution result is improved for each generation. The convergence state of the solution for each generation can be viewed in real time during execution of the present apparatus.

【0086】応用プログラムに与える引数入力値の生成
方法を応用プログラムの実行中においても動的に変更設
定できる機能を備えることにより、使用者が実行状況を
見て引数入力値の生成方法などの最適設計の方策を変更
することが可能となるので、効率的な最適設計が行え
る。
By providing a function for dynamically changing and setting a method of generating an argument input value to be given to an application program even during the execution of the application program, the user can view the execution status and optimize the method of generating the argument input value. Since it is possible to change the design policy, efficient optimal design can be performed.

【0087】設定された時間が経過したら、実行中の応
用プログラム全てをアボートし、その時点の最も評価結
果の良い解を最終的な解とし、動作を終了することによ
り、一定時間経過したら必ず本装置は終了するので、例
えば、夜中に本装置を起動し、翌朝には必ず終了させて
おく、といったことが可能となるので、本装置を動作さ
せる並列実行環境を複数のユーザが使用している場合
に、他のユーザの迷惑にならない使用方法が可能とな
る。
After the set time has elapsed, all running application programs are aborted, the solution with the best evaluation result at that time is determined as the final solution, and the operation is terminated. Since the apparatus is terminated, for example, it is possible to start the apparatus in the middle of the night and always terminate it in the next morning, so that a plurality of users use the parallel execution environment for operating the apparatus. In this case, a usage method that does not bother other users becomes possible.

【0088】満足のいく解が得られなかった際に前回の
実行における最も良い評価結果を記憶し、満足のいく解
が得られたかどうかを判定する終了判定手段において、
今回の実行における最も良い評価結果と記憶しておいた
前回の実行における最も良い評価結果を比較し、その比
率が使用者により設定された比率以下になっていたら、
満足のいく解が得られたと判断し、動作を終了すること
により、解の質が収束してきたら、自動的に終了させる
ことができ、無意味な実行を抑制することが可能とな
る。
When a satisfactory solution is not obtained, the best evaluation result in the previous execution is stored, and in the end determining means for determining whether a satisfactory solution has been obtained,
Compare the best evaluation result in the current run with the stored best evaluation result in the previous run, and if the ratio is less than the ratio set by the user,
By judging that a satisfactory solution has been obtained and terminating the operation, if the quality of the solution converges, the solution can be automatically terminated, and meaningless execution can be suppressed.

【0089】満足のいく解が得られたかどうかを判定す
る終了判定手段において、今回の実行における最も良い
評価結果が使用者により設定された値以上になっていた
ら、満足のいく解が得られたと判断し、動作を終了する
ことにより、ユーザの必要とする質の解が求まったら自
動的に終了させることができるでき、無意味な実行を抑
制することが可能となる。
In the termination judgment means for judging whether or not a satisfactory solution has been obtained, if the best evaluation result in this execution is equal to or more than the value set by the user, it is determined that a satisfactory solution has been obtained. By judging and ending the operation, if a solution of the quality required by the user is obtained, it can be automatically ended, and it is possible to suppress meaningless execution.

【0090】使用者からの操作により、実行中の応用プ
ログラム全てをアボートし、その時点の最も評価結果の
良い解を最終的な解とし、動作を終了することにより、
ユーザの意志によりいつでも本装置を終了させることが
可能となる。
By aborting all the application programs being executed by the user's operation, the solution with the best evaluation result at that time is determined as the final solution, and the operation is terminated.
This device can be terminated at any time by the user's will.

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

【図1】 この発明の全体構成及び情報の流れを示すブ
ロック図である。
FIG. 1 is a block diagram showing the overall configuration and information flow of the present invention.

【図2】 初期入力値の生成方法を指定した例を示す図
である。
FIG. 2 is a diagram illustrating an example in which a method of generating an initial input value is specified.

【図3】 図2で指定された初期入力値の生成方法によ
り生成された入力値群を示す図である。
FIG. 3 is a diagram showing an input value group generated by an initial input value generation method specified in FIG. 2;

【図4】 次世代の実行における入力値の生成方法の指
定を示す図である。
FIG. 4 is a diagram showing designation of a method of generating an input value in a next-generation execution.

【図5】 各世代における引数入力値群の変化すなわち
探索範囲の変化を示す図である。
FIG. 5 is a diagram showing a change in an argument input value group, that is, a change in a search range in each generation.

【図6】 5引数の応用プログラムにおいて、引数入力
値の組合せを交叉する前を示す図である。
FIG. 6 is a diagram showing before a combination of argument input values is crossed in a five-argument application program.

【図7】 5引数の応用プログラムにおいて、引数入力
値の組合せを交叉した後を示す図である。
FIG. 7 is a diagram showing a state after a combination of argument input values is crossed in a five-argument application program.

【図8】 5引数の応用プログラムにおいて、引数入力
値の組合せを突然変異した後を示す図である。
FIG. 8 is a diagram showing a state after a combination of argument input values is mutated in a five-argument application program.

【図9】 2つの引数に関して、それぞれ2つの入力値
生成方法の指定を示す図である。
FIG. 9 is a diagram showing designation of two input value generation methods for two arguments.

【図10】 図9で指定された入力値の生成方法により
それぞれ生成された入力値群を示す図である。
FIG. 10 is a diagram illustrating input value groups generated by the input value generation method designated in FIG. 9;

【図11】 図10の2つの引数の入力値群からの全て
の組合わせを示す図である。
FIG. 11 is a diagram showing all combinations of two arguments from the input value group of FIG. 10;

【図12】 引数入力値とそれに対応する評価値の表示
を示す図である。
FIG. 12 is a diagram showing display of an argument input value and an evaluation value corresponding thereto.

【図13】 各世代毎の最良評価値の表示を示す図であ
る。
FIG. 13 is a diagram showing the display of the best evaluation value for each generation.

【図14】 従来の人手による最適設計作業の手順を示
す図である。
FIG. 14 is a diagram showing a procedure of a conventional optimal design work by a human.

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

1 実行条件設定部、 2 入力値生成部、 3 並列実行部、 4 終了判定部、 5 入力値群蓄積部、 6 実行条件蓄積部、 7 評価結果蓄積部、 8 実行結果蓄積部、 9 実行状況表示部 1 execution condition setting unit, 2 input value generation unit, 3 parallel execution unit, 4 end judgment unit, 5 input value group storage unit, 6 execution condition storage unit, 7 evaluation result storage unit, 8 execution result storage unit, 9 execution status Display

───────────────────────────────────────────────────── フロントページの続き (72)発明者 白石 將 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 ──────────────────────────────────────────────────の Continued on the front page (72) Inventor Masaru Shiraishi 2-3-2 Marunouchi, Chiyoda-ku, Tokyo Mitsubishi Electric Corporation

Claims (19)

【特許請求の範囲】[Claims] 【請求項1】 複数のパラメタの最適な値の組合せまた
はある評価基準を満足する値の組合せを発見する最適設
計を分散並列環境で支援する装置において、 与えられた引数入力値の組合せを基に設計を行う応用プ
ログラムの名前、引数の情報、実行の進め方、終了条件
を設定する実行条件設定手段と、 設定された実行条件及び前回の応用プログラムが求めた
解の質を表す評価結果を基に、応用プログラムに与える
引数入力値の組合せを複数生成する引数入力値生成手段
と、 生成された複数の引数入力値の組合せを応用プログラム
に与えて並列に実行する並列実行手段と、 全ての応用プログラムの実行が終了した後、満足のいく
解が得られたかどうかを判断する終了判定手段とを備
え、 満足のいく解が得られれば終了し、満足のいく解が得ら
れなければ再び引数入力値生成手段により引数入力値を
生成し応用プログラムの実行を繰り返すことを特徴とす
る最適設計支援装置。
An apparatus for supporting, in a distributed parallel environment, an optimal design for finding an optimum combination of values of a plurality of parameters or a combination of values satisfying a certain evaluation criterion, based on a combination of given argument input values. An execution condition setting means for setting the name of the application program to be designed, argument information, execution procedure, and termination conditions, and an evaluation result indicating the set execution conditions and the quality of the solution obtained by the previous application program. Input value generating means for generating a plurality of combinations of argument input values to be provided to the application program, parallel execution means for providing the generated combination of the plurality of argument input values to the application program and executing the application programs in parallel, and all application programs After completion of the execution of the above, there is provided end determination means for determining whether or not a satisfactory solution has been obtained. If a satisfactory solution is obtained, the process is terminated, and a satisfactory solution is obtained. Optimal design support apparatus characterized by repeated execution of the generated application program an argument input value by no If again the argument input value generating means.
【請求項2】 満足のいく解が得られなかった際の次回
の引数入力値の生成においては、前回の実行で良い評価
結果が得られた引数入力値のみを採用し、採用された引
数入力値の近傍を前回より細かな範囲で分割して引数入
力値の組合せの生成を行う引数入力値生成手段を備える
ことを特徴とする請求項1記載の最適設計支援装置。
2. A method for generating a next argument input value when a satisfactory solution is not obtained, adopting only the argument input value which obtained a good evaluation result in the previous execution, and adopting the adopted argument input value. 2. The optimal design support device according to claim 1, further comprising: an argument input value generation unit that divides a neighborhood of the value into a smaller range than the previous time and generates a combination of the argument input values.
【請求項3】 満足のいく解が得られなかった際の次回
の引数入力値の生成において、前回の実行で良い評価結
果が得られた引数入力値を採用するに当たって、最も良
い評価結果が得られた引数入力値から評価結果が良い順
に設定された数の引数入力値を採用し、それらの引数入
力値の近傍を前回より細かな範囲で分割して引数入力値
の組合せの生成を行う引数入力値生成手段を備えること
を特徴とする請求項2記載の最適設計支援装置。
3. In the generation of the next argument input value when a satisfactory solution is not obtained, the best evaluation result is obtained by adopting the argument input value that obtained a good evaluation result in the previous execution. Arguments that adopt a set number of argument input values from the argument input values given in order of good evaluation result and divide the neighborhood of those argument input values into a smaller range than the previous time to generate a combination of argument input values 3. The optimal design support device according to claim 2, further comprising an input value generation unit.
【請求項4】 満足のいく解が得られなかった際の次回
の引数入力値の生成において、前回の実行で良い評価結
果が得られた引数入力値を採用するに当たって、設定さ
れた評価基準以上の評価結果が得られた引数入力値全て
を採用し、それらの引数入力値の近傍を前回より細かな
範囲で分割して引数入力値の組合せの生成を行う引数入
力値生成手段を備えることを特徴とする請求項2記載の
最適設計支援装置。
4. A method for generating a next argument input value when a satisfactory solution is not obtained, in adopting an argument input value having a good evaluation result obtained in the previous execution, at least a set evaluation criterion. The method further includes an argument input value generating unit that employs all the argument input values obtained as the result of the evaluation, divides the vicinity of the argument input values into a smaller range than the previous time, and generates a combination of the argument input values. 3. The optimal design support device according to claim 2, wherein:
【請求項5】 満足のいく解が得られなかった際の次回
の引数入力値の生成において、採用された引数入力値の
近傍を前回より細かな範囲で分割して引数入力値の組合
せの生成を行う際に、同じ値の引数入力値の重複を除去
する引数入力値生成手段を備えることを特徴とする請求
項2記載の最適設計支援装置。
5. In the next generation of argument input values when a satisfactory solution is not obtained, the neighborhood of the adopted argument input values is divided into a smaller range than the previous time to generate a combination of argument input values. 3. The optimal design support device according to claim 2, further comprising: an argument input value generation unit that removes duplication of the argument input value having the same value when performing.
【請求項6】 満足のいく解が得られなかった際の次回
の引数入力値の生成において、前回の実行で良い評価結
果が得られた引数入力値を採用するに当たって、設定さ
れた評価基準以上の評価結果が得られた引数入力値全て
を採用し、引数入力値の1つの組合せによる応用プログ
ラムの実行が終了し、その評価結果が設定された評価基
準以上であった場合に、他の引数入力値の組合せによる
応用プログラムの実行終了を待たずに、直ちにその引数
入力値の近傍を前回より細かな範囲で分割して引数入力
値を生成し、生成された引数入力値の組合せを応用プロ
グラムに与えて並列に実行することを特徴とする請求項
4記載の最適設計支援装置。
6. In the generation of the next argument input value when a satisfactory solution is not obtained, when adopting the argument input value which obtained a good evaluation result in the previous execution, the set evaluation criterion or more is used. If all of the argument input values for which the evaluation result has been obtained are adopted and the execution of the application program by one combination of the argument input values is completed and the evaluation result is equal to or greater than the set evaluation criterion, the other arguments are used. Without waiting for the end of execution of the application program by the combination of input values, immediately divide the vicinity of the argument input value into a smaller range than the previous time to generate argument input values, and combine the generated combination of argument input values with the application program. 5. The optimum design support apparatus according to claim 4, wherein the optimum design support apparatus is executed in parallel with the program.
【請求項7】 満足のいく解が得られなかった際の次回
の引数入力値の生成において、前回の実行で良い評価結
果が得られた引数入力値を採用するに当たって、設定さ
れた評価基準以上の評価結果が得られた引数入力値全て
を採用し、設定された評価基準以上の評価結果を満足す
る引数入力値が1つしか存在しないと使用者により設定
されている場合、1つの引数入力値の組合せによる応用
プログラムの実行が終了し、その評価結果が設定された
評価基準以上であった場合に、他の引数入力値の組合せ
による応用プログラムの実行をすべてアボートし、直ち
にその引数入力値の近傍を前回より細かな範囲で分割し
て引数入力値を生成し、生成された引数入力値の組合せ
を応用プログラムに与えて並列に実行することを特徴と
する請求項4記載の最適設計支援装置。
7. In the generation of the next argument input value when a satisfactory solution is not obtained, in the adoption of the argument input value for which a good evaluation result was obtained in the previous execution, the set evaluation criterion or more is used. If the user adopts all the argument input values for which the evaluation result has been obtained, and the user sets that there is only one argument input value that satisfies the evaluation result equal to or higher than the set evaluation criterion, one argument input When the execution of the application program by the combination of values is completed and the evaluation result is equal to or greater than the set evaluation criterion, all executions of the application program by the combination of other argument input values are aborted, and the argument input values are immediately 5. The method according to claim 4, wherein an argument input value is generated by dividing the neighborhood of in a smaller range than the previous time, and a combination of the generated argument input values is given to an application program and executed in parallel. Optimal design support equipment.
【請求項8】 満足のいく解が得られなかった際の次回
の引数入力値の生成において、前回の実行で良い評価結
果が得られた引数入力値を採用するに当たって、設定さ
れた評価基準以上の評価結果が得られた引数入力値全て
を採用し、設定された評価基準以上の評価結果を満足す
る引数入力値が設定された範囲内に1つしか存在しない
と使用者により設定されている場合、1つの引数入力値
の組合せによる応用プログラムの実行が終了し、その評
価結果が設定された評価基準以上であった場合に、設定
された範囲内の他の引数入力値の組合せによる応用プロ
グラムの実行をすべてアボートし、直ちにその引数入力
値の近傍を前回より細かな範囲で分割して引数入力値を
生成し、生成された引数入力値の組合せを応用プログラ
ムに与えて並列に実行することを特徴とする請求項4記
載の最適設計支援装置。
8. In the generation of the next argument input value when a satisfactory solution is not obtained, when adopting the argument input value that obtained a good evaluation result in the previous execution, the set evaluation criterion or more is used. Is adopted by the user, and the user sets that there is only one argument input value within the set range that satisfies the evaluation result equal to or higher than the set evaluation criterion. In this case, when the execution of the application program by the combination of one argument input value is completed and the evaluation result is equal to or greater than the set evaluation criterion, the application program by the combination of other argument input values within the set range Aborts the execution of all the arguments, immediately divides the neighborhood of the argument input values into smaller ranges than the previous time, generates argument input values, and gives the generated combination of argument input values to the application program to execute in parallel. 5. The optimal design support device according to claim 4, wherein the optimization is performed.
【請求項9】 生成された引数入力値の組合せを応用プ
ログラムに与えて並列実行する際に、全ての生成された
引数入力値の組合せを1度に並列実行するのではなく、
設定された数だけ並列実行し、それらの実行が終了し満
足のいく解が得られなかった場合、残りの引数入力値の
組合せのうち設定された数だけ並列実行することを繰り
返すことを特徴とする請求項1記載の最適設計支援装
置。
9. When the generated combinations of argument input values are given to an application program and executed in parallel, instead of executing all the generated combinations of argument input values in parallel at once,
A parallel execution is performed for a set number of times, and when those executions are completed and a satisfactory solution is not obtained, the parallel execution is performed repeatedly for the set number of remaining argument input value combinations. The optimal design support device according to claim 1.
【請求項10】 引数入力値の生成において生成される
引数入力値に実行優先度を設定する手段を備え、生成さ
れた引数入力値の組合せを応用プログラムに与えて並列
実行する際に、全ての生成された引数入力値の組合せを
1度に並列実行するのではなく、設定された実行優先度
順に設定された数だけ並列実行し、それらの実行が終了
し満足のいく解が得られなかった場合、残りの引数入力
値の組合せのうち設定された実行優先度順に設定された
数だけ並列実行することを繰り返すことを特徴とする請
求項9記載の最適設計支援装置。
10. An apparatus according to claim 1, further comprising means for setting an execution priority to the argument input value generated in the generation of the argument input value. Rather than executing the generated combinations of argument input values in parallel at one time, they were executed in parallel in the set execution priority order by the set number, and the execution was completed and no satisfactory solution was obtained. 10. The optimal design support apparatus according to claim 9, wherein, in the case, the parallel execution is repeated by the number set in the set execution priority order among the remaining combinations of the argument input values.
【請求項11】 満足のいく解が得られなかった際の次
回の引数入力値の生成において、前回の引数入力値の組
合せに対して、交叉、突然変異、淘汰の遺伝的操作を施
すことにより、引数入力値の生成を行う引数入力値生成
手段を備えることを特徴とする請求項1記載の最適設計
支援装置。
11. When generating a next argument input value when a satisfactory solution is not obtained, a genetic operation such as crossover, mutation, or selection is performed on a combination of previous argument input values. 2. The optimal design support apparatus according to claim 1, further comprising an argument input value generating means for generating an argument input value.
【請求項12】 満足のいく解が得られなかった際の次
回の引数入力値の生成において、評価結果の良い引数入
力値の組合せのうち、同じ値の多い引数はその値に固定
し、その他の残りの引数について、採用された引数入力
値の近傍を前回より細かな範囲で分割して引数入力値の
生成を行う引数入力値生成手段を備えることを特徴とす
る請求項2記載の最適設計支援装置。
12. In the next generation of an argument input value when a satisfactory solution is not obtained, among the combinations of argument input values having a good evaluation result, the argument having the same value is fixed to that value. 3. An optimal design according to claim 2, further comprising: an argument input value generating means for generating an argument input value by dividing a neighborhood of the adopted argument input value into a smaller range than the previous one for the remaining arguments. Support equipment.
【請求項13】 引数入力値とそれに対応する応用プロ
グラムが求めた解の評価結果の対応を端末にグラフ表示
する機能を備えることを特徴とする請求項1記載の最適
設計支援装置。
13. The optimal design support apparatus according to claim 1, further comprising a function of displaying on a terminal a correspondence between the argument input value and the evaluation result of the solution obtained by the application program corresponding to the argument input value.
【請求項14】 応用プログラムが求めた解の評価結果
のうち、最も良い評価結果の時間的推移を端末にグラフ
表示する機能を備えることを特徴とする請求項1記載の
最適設計支援装置。
14. The optimal design support apparatus according to claim 1, further comprising a function of displaying, on a terminal, a temporal transition of the best evaluation result among the evaluation results of the solution obtained by the application program.
【請求項15】 応用プログラムに与える引数入力値の
生成方法を応用プログラムの実行中においても動的に変
更設定できる機能を備えることを特徴とする請求項1記
載の最適設計支援装置。
15. The optimal design support apparatus according to claim 1, further comprising a function of dynamically changing and setting a method of generating an argument input value given to the application program even during execution of the application program.
【請求項16】 設定された時間が経過したら、実行中
の応用プログラム全てをアボートし、その時点の最も評
価結果の良い解を最終的な解とし、動作を終了すること
を特徴とする請求項1記載の最適設計支援装置。
16. After a set time has elapsed, all running application programs are aborted, a solution having the best evaluation result at that time is set as a final solution, and the operation is terminated. 1. The optimal design support device according to 1.
【請求項17】 満足のいく解が得られなかった際に前
回の実行における最も良い評価結果を記憶し、満足のい
く解が得られたかどうかを判定する終了判定手段におい
て、今回の実行における最も良い評価結果と記憶してお
いた前回の実行における最も良い評価結果を比較し、そ
の比率が使用者により設定された比率以下になっていた
ら、満足のいく解が得られたと判断し、動作を終了する
ことを特徴とする請求項1記載の最適設計支援装置。
17. When the satisfactory solution is not obtained, the best evaluation result in the previous execution is stored, and the end determining means for determining whether a satisfactory solution has been obtained is determined by an end determination unit. The good evaluation result is compared with the stored best evaluation result in the previous execution.If the ratio is less than the ratio set by the user, it is determined that a satisfactory solution has been obtained, and the operation is performed. 2. The optimal design support device according to claim 1, wherein the process is terminated.
【請求項18】 満足のいく解が得られたかどうかを判
定する終了判定手段において、今回の実行における最も
良い評価結果が使用者により設定された値以上になって
いたら、満足のいく解が得られたと判断し、動作を終了
することを特徴とする請求項1記載の最適設計支援装
置。
18. An end determination means for determining whether a satisfactory solution has been obtained, if the best evaluation result in the present execution is equal to or more than a value set by a user, a satisfactory solution is obtained. 2. The optimal design support apparatus according to claim 1, wherein it is determined that the operation has been performed, and the operation is terminated.
【請求項19】 使用者からの操作により、実行中の応
用プログラム全てをアボートし、その時点の最も評価結
果の良い解を最終的な解とし、動作を終了することを特
徴とする請求項1記載の最適設計支援装置。
19. The method according to claim 1, wherein all running application programs are aborted by a user operation, a solution having the best evaluation result at that time is determined as a final solution, and the operation is terminated. Optimal design support device as described.
JP9245159A 1997-09-10 1997-09-10 Optimum design supporting device Pending JPH1185721A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9245159A JPH1185721A (en) 1997-09-10 1997-09-10 Optimum design supporting device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9245159A JPH1185721A (en) 1997-09-10 1997-09-10 Optimum design supporting device

Publications (1)

Publication Number Publication Date
JPH1185721A true JPH1185721A (en) 1999-03-30

Family

ID=17129500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9245159A Pending JPH1185721A (en) 1997-09-10 1997-09-10 Optimum design supporting device

Country Status (1)

Country Link
JP (1) JPH1185721A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100393847B1 (en) * 2001-06-22 2003-08-09 이형주 A Method of Multidisciplinary Design Optimization Using Interdisciplinary Design Variables and Optimal Sensitivity Information
JP2020027370A (en) * 2018-08-09 2020-02-20 株式会社東芝 Optimization device, simulation system and optimization method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04281550A (en) * 1991-03-11 1992-10-07 Nippon Telegr & Teleph Corp <Ntt> Optimizing problem resolution processor
JPH0981537A (en) * 1995-09-18 1997-03-28 Fujitsu Ltd Analysis display processor related to genetic algorithm

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04281550A (en) * 1991-03-11 1992-10-07 Nippon Telegr & Teleph Corp <Ntt> Optimizing problem resolution processor
JPH0981537A (en) * 1995-09-18 1997-03-28 Fujitsu Ltd Analysis display processor related to genetic algorithm

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100393847B1 (en) * 2001-06-22 2003-08-09 이형주 A Method of Multidisciplinary Design Optimization Using Interdisciplinary Design Variables and Optimal Sensitivity Information
JP2020027370A (en) * 2018-08-09 2020-02-20 株式会社東芝 Optimization device, simulation system and optimization method

Similar Documents

Publication Publication Date Title
Zeballos A constraint programming approach to tool allocation and production scheduling in flexible manufacturing systems
CN102289782A (en) Information processing apparatus, and method and program for controlling information processing apparatus
CN110928661B (en) Thread migration method, device, equipment and readable storage medium
JP2004178118A (en) Monitoring method and monitoring program of operating state of program
CN108156212B (en) Elastic expansion method and system based on user perception
JPH1185721A (en) Optimum design supporting device
JP6374841B2 (en) Virtual machine placement apparatus and virtual machine placement method
CN112596898A (en) Task executor scheduling method and device
US8555285B2 (en) Executing a general-purpose operating system as a task under the control of a real-time operating system
CN110413393B (en) Cluster resource management method and device, computer cluster and readable storage medium
US20120042322A1 (en) Hybrid Program Balancing
JP2988462B2 (en) Autonomous cooperative processing device, autonomous cooperative processing method, and recording medium therefor
JP5821471B2 (en) Information processing apparatus, process monitoring method, process monitoring program, and recording medium
JP6463797B2 (en) Structural mutation detection method, device and system
CN105893145A (en) Task scheduling method and device based on genetic algorithm
Itazuro et al. Design environment of reinforcement learning agents for intelligent multiagent system
CN110990134B (en) Intelligent task scheduling method and device, computer equipment and storage medium
Lent An online method for opportunistic task replications
JPH08137703A (en) Task switching device
JPH08190489A (en) Method for judging possibility of execution of task process
JP4851932B2 (en) Log analysis execution method and program
CN110928688A (en) Distributed crawler task scheduling system and method
KR102238694B1 (en) Apparatus and method for processing data in real time in batch processing system
JPH08241290A (en) Distributed real time scheduling method and scheduler
JPH05265845A (en) Swapping control system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040608

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040708

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041022

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041116