JPH0744611A - Multipurpose optimizing problem solving method - Google Patents

Multipurpose optimizing problem solving method

Info

Publication number
JPH0744611A
JPH0744611A JP18575793A JP18575793A JPH0744611A JP H0744611 A JPH0744611 A JP H0744611A JP 18575793 A JP18575793 A JP 18575793A JP 18575793 A JP18575793 A JP 18575793A JP H0744611 A JPH0744611 A JP H0744611A
Authority
JP
Japan
Prior art keywords
solution
stored
search
value
neighborhood
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP18575793A
Other languages
Japanese (ja)
Inventor
Nobuhiro Yugami
伸弘 湯上
Hirotaka Hara
裕貴 原
Yuiko Oota
唯子 太田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP18575793A priority Critical patent/JPH0744611A/en
Publication of JPH0744611A publication Critical patent/JPH0744611A/en
Withdrawn legal-status Critical Current

Links

Abstract

PURPOSE:To make it possible to determine an optimizing solution by determining the transition probability to a new solution for each of plural objective functions and determining whether the new solution is adopted or not. CONSTITUTION:A system is composed of a central processing unit(CPU) 10, a memory 11, an external storage device 12 such as a magnetic disk, for instance, and an external output device 13 such as a display, a printer and a communication line, etc. A program for conducting the search of a solution in accordance with an algorithm is stored in the external storage device 12 and the program is loaded to the memory 11 from the external storage device 12 when a search operation is started. Subsequently, based on the algorithm, the program is read by the CPU 10 and a processing is conducted. After the processing is conducted, the data showing the determined optimizing solution is outputted from the memory 11 to the external output device 13.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は工場の操業計画や、物流
分野における配送の問題などの組み合わせ最適化問題に
係わり、更に詳しくは複数の目的関数のそれぞれをでき
るだけ最適化する解を求める多目的最適化問題解決方法
に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to operation optimization plans for factories and combinatorial optimization problems such as delivery problems in the field of logistics. More specifically, the present invention relates to a multi-objective optimization that seeks solutions that optimize each of a plurality of objective functions as much as possible. Regarding problem solving method.

【0002】[0002]

【従来の技術】組み合わせ最適化問題の解決方法に関し
ては、ORやAIの分野でかなり研究・開発が行われて
いる。これらの方法のなかで、山登り法についてまず説
明する。
2. Description of the Related Art A considerable amount of research and development has been conducted in the fields of OR and AI regarding the solution of combinatorial optimization problems. Among these methods, the mountain climbing method will be described first.

【0003】山登り法では、まずはじめに適当な解Sを
生成する。次に、Sの一部を手直しすることにより解
S′を生成する。ここでもしS′の目的関数値がSの目
的関数値よりも良ければS←S′とする。もし良くなけ
ればS′を棄却し、S′を作り直す。このような操作を
Sよりも目的関数がよくなるようなS′を作ることが不
可能になるまで続け、そのときのSを解として出力す
る。一般的にSからS′を作る場合は、Sのごく一部を
変更する(例えば一つの変数の値だけを変える)だけで
あるから、山登り法で得られる解は局所最適解に過ぎな
い。
In the hill climbing method, first, an appropriate solution S is generated. Next, a solution S ′ is generated by modifying a part of S. Here, if the objective function value of S'is better than the objective function value of S, S ← S '. If not, reject S'and recreate S '. This operation is continued until it becomes impossible to create S'that has an objective function better than S, and S at that time is output as a solution. Generally, when S'is made from S, only a small part of S is changed (for example, only the value of one variable is changed), so the solution obtained by the hill climbing method is only a local optimum solution.

【0004】この欠点を解決し、厳密な最適解を得るた
めの手法がシミュレーテッドアニーリング法である。シ
ミュレーテッドアニーリング法では、もともとの解Sか
らそれを手直しした解S′に移動するかどうかを判定す
るさいに、山登り法とは異なり、目的関数値がS′の方
の悪い場合でも確率的に移動することを許す(良くなる
場合にはもちろん移動する)。ただし、目的関数値を悪
化させる解への移動(遷移)する確率を探索が進むに連
れて小さくしていく。この確率の変化の仕方を適当にコ
ントロールすることにより厳密な最適解を得ることがで
きることが知られているが、そのためには莫大な時間が
必要となるので、通常は厳密な最適解を得ることは諦
め、その代わり適度な時間で探索が終了するように確率
のコントロールを行う。それでも通常の問題では山登り
法よりもかなり良い解を得ることができる。
The simulated annealing method is a method for solving this drawback and obtaining a strict optimum solution. Unlike the hill-climbing method, the simulated annealing method differs from the hill-climbing method in determining whether to move from the original solution S to the modified solution S ', even if the objective function value is S' Allow movement (of course when it gets better). However, the probability of moving (transitioning) to a solution that deteriorates the objective function value is reduced as the search progresses. It is known that a strict optimal solution can be obtained by properly controlling the method of changing this probability, but it takes a huge amount of time to do so, so it is usually necessary to obtain a strict optimal solution. Gives up and instead controls the probability so that the search ends in a reasonable time. Still, in normal problems we can get much better solutions than the hill-climbing method.

【0005】[0005]

【発明が解決しようとする課題】前述の山登り法、およ
びシミュレーテッドアニーリング法においては、組み合
わせ最適化問題における目的関数を1つしか設定できな
いという問題点があった。
The hill climbing method and the simulated annealing method described above have a problem that only one objective function can be set in the combinatorial optimization problem.

【0006】このため目的関数が複数個存在するような
場合には、それら複数個の目的関数を適当に重みづけて
線形結合を作り、1つの仮想的な目的関数を作って、そ
の目的関数を最適化するという作業が行われていた。し
かしながら、このようにして作られた仮想的な目的関数
に関する最適化は必ずしもユーザが求めたい解を得るこ
とに対応しているとは限らず、線形結合における重みの
設定法によっては、例えば1つの目的関数の値はとても
良くなるが、他の目的関数の値はとても悪くなるという
ような解が得られる可能性もあるという問題点があっ
た。
Therefore, when there are a plurality of objective functions, the plurality of objective functions are appropriately weighted to form a linear combination to form one virtual objective function, and the objective function is calculated. The work of optimizing was done. However, the optimization related to the virtual objective function created in this way does not always correspond to obtaining the solution desired by the user, and depending on the weight setting method in the linear combination, for example, The value of the objective function is very good, but there is a possibility that a solution may be obtained in which the values of other objective functions are very bad.

【0007】本発明は、複数の目的関数が存在するよう
な組み合わせ最適化問題において、それら複数の目的関
数をそれぞれできるだけ最適化する解を求めることを可
能にすることである。
The present invention makes it possible to find a solution that optimizes each of a plurality of objective functions as much as possible in a combinatorial optimization problem in which a plurality of objective functions exist.

【0008】[0008]

【課題を解決するための手段・および作用】図1は本発
明の機能ブロック図である。同図は、複数の目的関数を
それぞれできるだけ最適化する解を求めるための、多目
的最適化問題解決方法の機能ブロック図である。
FIG. 1 is a functional block diagram of the present invention. This figure is a functional block diagram of a multi-objective optimization problem solving method for obtaining a solution that optimizes each of a plurality of objective functions as much as possible.

【0009】図1において、まず1で1つの解、すなわ
ち初期解Sが生成され、2でその解Sに代わって新しい
解を採用すべき確率としての遷移確率を求めるための探
索パラメータが決定され、3で解Sの近傍S′が生成さ
れる。この近傍S′は、例えば前述の複数の目的関数の
それぞれに対する複数個の変数のうちで、1つの変数の
値を変更することによって生成される。
In FIG. 1, first, one solution is generated at 1, that is, an initial solution S, and at 2 a search parameter for determining a transition probability as a probability that a new solution should be adopted instead of the solution S is determined. At 3, the neighborhood S ′ of the solution S is generated. This neighborhood S'is generated, for example, by changing the value of one of the plurality of variables for each of the plurality of objective functions described above.

【0010】そして4で複数の各目的関数に対して新し
い解への、すなわち近傍S′への遷移確率が求められ、
5で各目的関数に対する遷移確率から新しい解、すなわ
ち近傍S′を採用すべき確率としての全体の遷移確率が
計算される。この全体の遷移確率は、例えばそれぞれの
目的関数に対する遷移確率の積として求められる。
Then, in 4, the transition probabilities to a new solution, that is, to the neighborhood S ', are obtained for each of the plurality of objective functions,
At 5, a new solution is calculated from the transition probabilities for each objective function, that is, the overall transition probabilities as probabilities that the neighborhood S ′ should be adopted. This overall transition probability is obtained, for example, as the product of the transition probabilities for each objective function.

【0011】そして全体の遷移確率の値とある閾値とが
比較され、全体の遷移確率の方が大きい時、6で近傍
S′が新しい解Sとして採用され、探索の終了条件が満
足されるまで前記探索パラメータの決定以降の処理が繰
返される。ここで探索の終了条件は、例えば新しい解へ
の遷移が起こった回数として定義される。
Then, the value of the overall transition probability is compared with a certain threshold value, and when the overall transition probability is larger, the neighborhood S'is adopted as a new solution S at 6 until the search termination condition is satisfied. The processes after the determination of the search parameters are repeated. Here, the search termination condition is defined as, for example, the number of times a transition to a new solution has occurred.

【0012】これに対して全体の遷移確率の値がある閾
値より小さい時には、7で近傍S′を新しい解Sとして
採用することなく、探索の終了条件が満足されるまで前
述の探索パラメータの決定以降の処理が繰返される。
On the other hand, when the value of the overall transition probability is smaller than a certain threshold value, the above-mentioned search parameter is determined until the end condition of the search is satisfied without adopting the neighborhood S ′ as a new solution S at 7. Subsequent processing is repeated.

【0013】また本発明においては、前述の1での1つ
の解Sの生成に続いてその解Sが最良解の1つとして保
存された後に、2で遷移確率を求めるための探索パラメ
ータが決定される点と、前述の6で全体の遷移確率があ
る閾値より大きい時近傍S′が新しい解Sとして採用さ
れた後に、その新しい解に対する複数の目的関数の値よ
りも良い値を複数の目的関数の全てについて取る解、す
なわち新しい解Sよりも明らかに良い解が最良解として
すでに保存されているか否かが判定され、保存されてい
ない時には逆に新しい解よりも悪い値を全ての目的関数
について取る解があれば、その解を最良解としての保存
状態から外すと共に、新しい解が最良解として追加さ
れ、前述の探索の終了条件が満足されるまで探索パラメ
ータ決定以降の処理が繰返され、また明らかに良い解が
保存されている時には、最良解の変更を行うことなく、
探索の終了条件が満足されるまで探索パラメータの決定
以降の処理が繰返される点とが異なるように発明を実施
することもできる。
Further, in the present invention, after the generation of one solution S in 1 described above and the solution S is saved as one of the best solutions, the search parameter for determining the transition probability is determined in 2 And the neighborhood S ′ when the overall transition probability is larger than a certain threshold in 6 above is adopted as a new solution S, a value that is better than the values of the plurality of objective functions for the new solution is given to a plurality of objectives. It is determined whether a solution that takes all of the functions, that is, a solution that is clearly better than the new solution S, is already stored as the best solution, and if not, conversely, a value that is worse than the new solution is set for all objective functions. If there is a solution that takes for, the new solution is added as the best solution while the solution is removed from the saved state as the best solution, and the processing after the search parameter determination is performed until the above-mentioned search termination condition is satisfied. Repeated, also in the case of obvious solutions have already been stored, without changing the best solution,
The invention can be implemented so as to differ from the point that the processes after the determination of the search parameter are repeated until the search termination condition is satisfied.

【0014】更に本発明においては、この最良解として
保存可能な解の個数が一定値以下に制限される点と、前
述の複数の目的関数の全てについて良い値を取る解が最
良解として保存されていない時、逆に全ての目的関数に
ついて悪い値を取る解が最良解としての保存状態から外
されると共に新しい解が最良解の1つとして追加され、
その結果最良解として保存されている解の個数が前述の
一定値を越えた時にその保存されている各解の有効度が
調べられ、有効度が最も悪い解が最良解としての保存状
態から外され、前述の探索の終了条件が満足されるまで
探索パラメータの決定以降の処理が繰返される点とが異
なるように発明を実施することも可能である。
Further, in the present invention, the number of solutions that can be stored as this best solution is limited to a fixed value or less, and the solution that takes good values for all of the above-mentioned plurality of objective functions is stored as the best solution. If not, the solution that takes a bad value for all objective functions is removed from the saved state as the best solution and a new solution is added as one of the best solutions.
As a result, when the number of solutions stored as the best solution exceeds the above-mentioned fixed value, the effectiveness of each stored solution is examined, and the solution with the worst effectiveness is excluded from the saved state as the best solution. It is also possible to implement the invention differently from the point that the processes after the determination of the search parameter are repeated until the above-mentioned condition for ending the search is satisfied.

【0015】以上のように、本発明においては複数の各
目的関数に対して新しい解への遷移確率が求められ、新
しい解を採用すべき確率としての全体の遷移確率が、例
えば各目的関数に対する遷移確率の積として計算され、
その全体の遷移確率とある閾値とが比較されて、新しい
解を採用するか否かが決定される。
As described above, in the present invention, the transition probability to a new solution is obtained for each of a plurality of objective functions, and the overall transition probability as the probability that a new solution should be adopted is, for example, for each objective function. Calculated as the product of transition probabilities,
The overall transition probability is compared to a threshold to determine whether to adopt a new solution.

【0016】[0016]

【実施例】図2は本発明の多目的最適化問題解決方法を
実現するための計算機システムの全体構成ブロック図で
ある。同図において、システムは中央処理装置(CP
U)10、メモリ11、例えば磁気ディスク装置などの
外部記憶装置12、およびディスプレイ、プリンタ、通
信回線などの外部出力装置13から構成されている。
FIG. 2 is a block diagram showing the overall configuration of a computer system for implementing the multi-objective optimization problem solving method of the present invention. In the figure, the system is a central processing unit (CP
U) 10, a memory 11, an external storage device 12 such as a magnetic disk device, and an external output device 13 such as a display, a printer and a communication line.

【0017】後述するフローチャートに示すアルゴリズ
ムに従って解の探索を実行するためのプログラムは、図
2において外部記憶装置12に格納されており、探索動
作の開始時に外部記憶装置12からメモリ11にロード
される。その後、後述するアルゴリズムに基づいて、そ
のプログラムはCPU10によって読み出され、処理が
実行される。処理実行後、求められた最適解を示すデー
タはメモリ11から外部出力装置13に出力される。
A program for executing a search for a solution in accordance with an algorithm shown in a flowchart described later is stored in the external storage device 12 in FIG. 2, and is loaded from the external storage device 12 to the memory 11 at the start of the search operation. . After that, the program is read by the CPU 10 and the process is executed based on an algorithm described later. After the processing is executed, the data indicating the obtained optimum solution is output from the memory 11 to the external output device 13.

【0018】図3は本発明の多目的最適化問題解決方法
の第1の実施例の処理フローチャートである。同図にお
いて、まずステップ(S)21において適当な1つの初
期解が求められ、これが解Sとされる。その後S22で
探索の終了条件が満足されているか否かが判定される。
探索の終了条件としては、例えば解Sの変更、すなわち
古い解から新しい解への遷移が何回行われたかという条
件や、後述するように解Sの近傍として生成されたS′
が新しく解として採用される成功回数と、新しい解とし
て採用されない失敗回数との比がどの位になったかとい
う条件などが用いられる。ここでは解Sは初期解である
ので、当然探索終了条件は満足されず、S23の処理に
移行する。
FIG. 3 is a processing flowchart of the first embodiment of the multi-objective optimization problem solving method of the present invention. In the figure, first, in step (S) 21, one suitable initial solution is obtained, and this is set as the solution S. Then, in S22, it is determined whether or not the search termination condition is satisfied.
The search termination condition is, for example, the condition of changing the solution S, that is, the number of transitions from the old solution to the new solution, or S ′ generated near the solution S as described later.
A condition such as the ratio of the number of successes adopted as a new solution to the number of failures not adopted as a new solution is used. Since the solution S is the initial solution here, the search end condition is not satisfied, and the process proceeds to S23.

【0019】S23においては、新しい解を採用すべき
確率としての遷移確率を求めるための探索パラメータm
i が決定される。この探索パラメータについては後述す
る。そしてS24で現在の解Sに対する近傍S′が生成
される。この近傍S′は例えば現在のSを決定している
複数の変数のうちの、1つの変数の値を変化させること
によって生成される。
In S23, a search parameter m for obtaining a transition probability as a probability that a new solution should be adopted.
i is determined. The search parameters will be described later. Then, in S24, a neighborhood S'for the current solution S is generated. This neighborhood S'is generated, for example, by changing the value of one of the plurality of variables that determines the current S.

【0020】続いてS25において、複数の目的関数の
それぞれに対して遷移確率が求められる。この遷移確率
についても、その詳細は後述する。各目的関数に対する
遷移確率が求められた後に、S26でそれぞれの遷移確
率pi の値に基づいて、全体としての解の遷移確率Ptot
alが計算される。この全体としての遷移確率は、例えば
S25で計算されたそれぞれの目的関数に対する遷移確
率pi の積によって求められる。
Then, in S25, the transition probability is obtained for each of the plurality of objective functions. The details of this transition probability will be described later. After the transition probabilities for the respective objective functions are obtained, the transition probabilities Ptot of the solution as a whole are calculated based on the values of the respective transition probabilities p i in S26.
al is calculated. The overall transition probability is obtained by, for example, the product of the transition probabilities p i for each objective function calculated in S25.

【0021】その後S27において0〜1の間の乱数の
1つがrとされ、S28でこのrとS26で求められた
Ptotalの値が比較され、rの方が大きい時にはS22以
降の処理が繰返される。これに対してrの方が小さい時
には、S29で近傍S′が新しく解Sとして採用された
後に、S22以降の処理が繰返される。そしてS22で
探索の終了条件が満足されたと判定されると、S30で
解Sが出力されて処理が終了する。
After that, in S27, one of the random numbers between 0 and 1 is set to r, and in S28, it is obtained in r and S26.
The values of Ptotal are compared, and when r is larger, the processing from S22 is repeated. On the other hand, when r is smaller, the neighborhood S ′ is newly adopted as the solution S in S29, and then the processing of S22 and thereafter is repeated. When it is determined in S22 that the search termination condition is satisfied, the solution S is output in S30, and the process ends.

【0022】図3の第1の実施例についてまず簡単な例
を用いて処理の詳細を説明する。まず一般的に複数個の
目的関数をF1 (S),F2 (S),・・・・F
N (S)のN個とし、またN個の目的関数F1 ,F2
・・・・FN に対応する解S1 から解S2 への遷移確率
をそれぞれP1 (m1 ,e11,e12),P2 (m2 ,e
21,e22),・・・,PN (mN ,eN1,eN2)とす
る。また探索パラメータmi は探索の進捗度に対応する
ものであり、ei1,ei2がそれぞれFi (S1 ),Fi
(S2 )である(i=1,2,・・・・,N)。
With respect to the first embodiment shown in FIG. 3, the details of the processing will be described first using a simple example. First, generally, a plurality of objective functions are F 1 (S), F 2 (S), ... F
N (S) N pieces and N pieces of objective functions F 1 , F 2 .
... The transition probabilities from the solution S 1 to the solution S 2 corresponding to F N are P 1 (m 1 , e 11 , e 12 ), P 2 (m 2 , e)
21 , e 22 ), ..., P N (m N , e N1 , e N2 ). The search parameter m i corresponds to the degree of progress of the search, and e i1 and e i2 are F i (S 1 ) and F i , respectively.
(S 2 ) (i = 1, 2, ..., N).

【0023】簡単な例として、以下のような2変数
(X,Y)の組み合わせ最適化問題(目的関数は2個)
を考える。すなわち解は2個の変数の値の組み合わせで
表現される。
As a simple example, the following combination optimization problem of two variables (X, Y) (two objective functions)
think of. That is, the solution is represented by a combination of the values of two variables.

【0024】例題 ○ 変数の領域 X∈{1,2,3,4,5,6,7,8,9,10} Y∈{1,2,3,4,5,6,7,8,9,10} ○ 目的関数 F1(〔X,Y〕)=XとYの最小公倍数 F2(〔X,Y〕)=X−Y(XとYの差) このような問題を解くためにはまず遷移確率を与える関
数P1,P2を次のように定義する(いずれも最小化を
目的とする)。
Example ○ Variable region Xε {1,2,3,4,5,6,7,8,9,10} Yε {1,2,3,4,5,6,7,8, 9,10} ○ Objective function F1 ([X, Y]) = least common multiple of X and Y F2 ([X, Y]) = XY (difference between X and Y) To solve such a problem First, the functions P1 and P2 that give transition probabilities are defined as follows (both aim at minimization).

【0025】[0025]

【数1】 [Equation 1]

【0026】このように遷移確率の値は、遷移前の解S
1 に対する目的関数の値(例えばE 11)が遷移後の解S
2 に対する目的関数の値(E12)以上のときに1、逆に
未満のときには探索パラメータ(m1 )のE11−E
12(目的関数の値の差)乗となる。
Thus, the value of the transition probability is the solution S before the transition.
1The value of the objective function for (eg E 11) Is the solution S after transition
2The value of the objective function for (E12) When above, reverse
If less than, the search parameter (m1) E11-E
12(Difference in objective function value) raised to the power.

【0027】まず図3のS21において探索を行うため
の初期解としてS=〔5,4〕が設定される。また探索
パラメータは次のようにS23で決定されるものとす
る。 m1 =m2 =2 初期解の目的関数値はそれぞれ次のようになる。
First, S = [5,4] is set as an initial solution for performing a search in S21 of FIG. Further, the search parameters are determined in S23 as follows. m 1 = m 2 = 2 The objective function values of the initial solution are as follows.

【0028】F1 (S)=F1 (〔5,4〕)=20 F2 (S)=F2 (〔5,4〕)=1 次に、S24で初期解Sの一部を変化させることにより
近傍S′を生成する。例えば、Yの値を1つ大きくして
5とする。この時S′の目的関数値は F1 (S′)=F1 (〔5,5〕)=5 F2 (S′)=F2 (〔5,5〕)=0 となる。上で与えたP1,P2によりS25で各目的関
数毎の遷移確率を求めると、 P1 =P1 (2,20,5)=1 P2 =P2 (2,1,0)=1 これらの積をとることによりS26で遷移確率Ptotal
を求めると Ptotal =P1 * 2 =1 さて、ここで0以上1未満の乱数によりSからS′に遷
移するかどうかを決定す。S27でとりあえず乱数r
して0.3 が得られたとすると、S28でr<Pto tal
成立するからS29でS←S′を行う。
F 1 (S) = F 1 ([5,4]) = 20 F 2 (S) = F 2 ([5,4]) = 1 Next, in S24, a part of the initial solution S is changed. By doing so, the neighborhood S ′ is generated. For example, the value of Y is increased by 1 to 5. At this time, the objective function value of S ′ is F 1 (S ′) = F 1 ([5,5]) = 5 F 2 (S ′) = F 2 ([5,5]) = 0. When the transition probabilities for each objective function are calculated in S25 from P1 and P2 given above, P 1 = P 1 (2,20,5) = 1 P 2 = P 2 (2,1,0) = 1 The transition probability P total in S26 by taking the product of
Then, P total = P 1 * P 2 = 1 Now, it is determined whether or not to transit from S to S ′ by a random number of 0 or more and less than 1. When 0.3 was obtained as the time being random number r in S27, it performs the S ← S 'in S29 because r <P to tal is established at S28.

【0029】次に探索終了か否かをS22で判定する。
ここでは探索を続行するものとする。S23における探
索オアラメータの更新として、例えばm1,m2ともに
1づつ大きくする。すなわち m1=m2=3 とする。さて次にS24で再び近傍S′を生成する。こ
こでもYの値を1増やして6にする。これによって F1 (S′)=F1 (〔5,6〕)=30 F2 (S′)=F2 (〔5,6〕)=−1 となる。上で与えたP1 ,P2 によりS25で各目的関
数毎の遷移確率を求めると、 p1 =P1 (3,5,30)=3-252 =P2 (3,0,−1)=1 となる。これらの積をとることによりS26で遷移確率
total を求めると ptotal =p1 * 2 =3-25 さて、ここで0以上1未満の乱数によりSからS′に遷
移するかどうかを決定する。S27でとりあえず乱数r
として 0.1が得られたとすると、S28でr<ptotal
は成立しないから、S′は棄却される。
Then, it is determined in S22 whether or not the search is completed.
Here, the search is continued. As the update of the search parameter in S23, for example, both m1 and m2 are increased by one. That is, m1 = m2 = 3. Next, in S24, the neighborhood S'is generated again. Here again, the value of Y is increased by 1 to 6. As a result, F 1 (S ′) = F 1 ([5,6]) = 30 F 2 (S ′) = F 2 ([5,6]) = − 1. When the transition probabilities for each objective function are obtained in S25 from P 1 and P 2 given above, p 1 = P 1 (3,5,30) = 3 −25 p 2 = P 2 (3,0, − 1) = 1. When the transition probability p total is obtained in S26 by taking these products, p total = p 1 * p 2 = 3 −25 Now, it is determined whether or not to transit from S to S ′ by a random number of 0 or more and less than 1. To do. For the time being, in S27, the random number r
If 0.1 is obtained, r <p total is obtained in S28.
Is not established, S'is rejected.

【0030】このような操作を繰り返して行くことによ
り、2つの目的関数ともに準最適な解を得ることができ
る。本発明は、前述のように工場の操業計画など、一般
的に計画問題や設計問題などの組み合わせ最適化問題全
般に利用することができる。計画問題としては、他に電
車や飛行機などの運行スケジュール作成問題、物流分野
における配送問題、学校などにおける時間割作成問題な
どがある。また設計問題とはある製品を作るのにどのよ
うな部品をどのように組み合わせればよいかを決めるよ
うな問題であり、機械の設計問題、LSIの論理設計、
LSIのレイアウト設計などの問題がある。
By repeating such an operation, a suboptimal solution can be obtained for both of the two objective functions. INDUSTRIAL APPLICABILITY As described above, the present invention can be used for general combinatorial optimization problems such as a planning problem and a design problem such as a factory operation plan. Other planning problems include an operation schedule creation problem for trains and airplanes, a delivery problem in the field of logistics, and a timetable creation problem in schools. The design problem is a problem that decides what kind of parts should be combined and how to make a certain product, such as a mechanical design problem, an LSI logic design,
There are problems such as LSI layout design.

【0031】実際の利用時においては、これらの問題に
対しては最適化の目的以外に制約条件を充足するという
目的が要求される。このような場合、シミュレーション
アニーリング法などの近傍探索法においては、制約の違
反度を表わすような関数を適当に定義して最適化が行わ
れる。そこで本発明の利用の例として、工場における操
業計画問題を考えて、図3のフローチャートを用いて第
1実施例における処理を更に詳細に説明する。
In practical use, in order to solve these problems, the purpose of satisfying constraint conditions is required in addition to the purpose of optimization. In such a case, in a neighborhood search method such as a simulation annealing method, optimization is performed by appropriately defining a function that represents the degree of constraint violation. Therefore, as an example of use of the present invention, considering the operation planning problem in a factory, the process in the first embodiment will be described in more detail with reference to the flowchart of FIG.

【0032】工場の操業計画問題とは、オーダー(どの
製品を何時までに、どれだけ出荷する必要があるかを表
す)の集合が与えられたとき、それらをできるだけ満足
するような操業計画を作成する、すなわち、どの機械で
何時から何時まで何を作るといったことを決めることが
目的である。この際に、当然さまざまな制約を満足する
必要があるし、工場全体の操業コストをできるだけ小さ
くする必要がある。操業計画問題にもさまざまなバリエ
ーションがあるが、ここでは例として次のような問題を
考える。
The operation plan problem of a factory is such that when a set of orders (representing which products need to be shipped by what time) is created, an operation plan that satisfies them as much as possible is created. The purpose is to decide what machine is used to make what from what time to what time. At this time, it is necessary to satisfy various restrictions, and it is necessary to reduce the operating cost of the entire factory as much as possible. There are various variations in the operation planning problem, but here we consider the following problem as an example.

【0033】機械2台(機械1と機械2)からなる工場
で5日間の操業計画を立案する。計画では、生産は1日
単位で行うものとする。すなわち、操業計画を立案する
ということは、各機械が各日にどの製品を生産するかを
決めることである。この工場では3種類の製品(製品
1、製品2、製品3)を生産するが、機械1では、製品
1と製品2を、機械2では全ての製品を生産できる。そ
のかわり、生産能力、すなわち1日当たりの生産量は機
械1のほうが大きいとする。オーダーは各製品について
与えられ、全てのオーダーの納期は5日目の生産終了時
である、すなわち、オーダーは、5日間における生産要
求量であるとする。この要求量を満足する(最低でも要
求されている量を生産する)ことがこの問題の制約とな
る。
A factory consisting of two machines (machine 1 and machine 2) prepares an operation plan for 5 days. According to the plan, production shall be carried out on a daily basis. That is, to make an operation plan is to decide which product each machine produces each day. In this factory, three kinds of products (Product 1, Product 2, and Product 3) are produced. In Machine 1, Product 1 and Product 2 can be produced, and in Machine 2, all products can be produced. Instead, it is assumed that the machine 1 has a larger production capacity, that is, the amount of production per day. An order is given for each product, and the delivery date of all orders is at the end of production on the fifth day, that is, the order is the production requirement amount in five days. Satisfying this requirement (producing at least the required quantity) is a constraint on this problem.

【0034】また、ある機械で前日とは別の製品を作る
場合には切替と呼ばれる作業をする必要がある。この作
業にはコストがかかるので、これは最小化したい。これ
がこの問題の目的関数となる。図4にこの問題を特徴付
ける定数として、各製品ごとの要求量R〔p〕(製品p
に対する要求量)、各機械の生産能力MA〔m,p〕
(機械mの製品pに対する生産能力)、切替コストSC
〔m〕(機械mの切替コスト)を示す。
Further, when a product different from the previous day is made on a certain machine, it is necessary to perform a work called switching. This work is expensive and we want to minimize it. This is the objective function of this problem. As a constant characterizing this problem in FIG. 4, the required amount R [p] (product p
Required amount), the production capacity of each machine MA [m, p]
(Production capacity of machine m for product p), switching cost SC
[M] (switching cost of machine m) is shown.

【0035】このとき、本来の目的関数、すなわち総切
替コストf1 は次のようになる。
At this time, the original objective function, that is, the total switching cost f 1 is as follows.

【0036】[0036]

【数2】 [Equation 2]

【0037】ただし、δ(u,v)はu=vのとき1、
u≠vのとき0となる関数である。ここで、x〔m,
d〕(m=1,2 d=1,2,3,4,5)は、機械
mが、日dに生産している製品を表すような変数であ
り、この変数の値を決めることが操業計画を立案するこ
とである。また、要求された量を生産しなくてはならな
いという制約は次のようになる。
However, δ (u, v) is 1 when u = v,
It is a function that becomes 0 when u ≠ v. Where x [m,
d] (m = 1, 2 d = 1, 2, 3, 4, 5) is a variable that represents the product produced by the machine m on the day d, and the value of this variable can be determined. To make an operation plan. Moreover, the constraint that the required quantity must be produced is as follows.

【0038】[0038]

【数3】 [Equation 3]

【0039】この制約の違反度を表すような関数とし
て、次のような関数を使うことができる。
The following function can be used as a function representing the degree of violation of this constraint.

【0040】[0040]

【数4】 [Equation 4]

【0041】この関数は、各製品ごとの、要求量からの
生産不足量を足したものであるので、小さければ小さい
ほど不足量が少ないことを表し、0になれば、要求を満
足することを示す。
Since this function is obtained by adding the production shortage amount from the required amount for each product, the smaller the value is, the smaller the insufficient amount is. If it becomes 0, the requirement is satisfied. Show.

【0042】図3にフローチャートを示した第1の実施
例では、このf1 とf2 という2つの関数を最小化する
ような解を求めることにより、この操業計画問題を解
く。そのためにまず各目的関数別の遷移確率を定義する
必要がある。ここでは、ある解S(解はx〔m,d〕の
集合で与えられる)からその近傍S′へ遷移する際の、
1 に対する遷移確率p1 および、f2 に対する遷移確
率p2 を次のように与える
In the first embodiment whose flow chart is shown in FIG. 3, this operation planning problem is solved by finding a solution that minimizes the two functions f 1 and f 2 . For that purpose, it is first necessary to define transition probabilities for each objective function. Here, when transitioning from a certain solution S (the solution is given by a set of x [m, d]) to its neighborhood S ′,
transition probabilities p 1 and with respect to f 1, gives the transition probability p 2 for f 2 as follows

【0043】[0043]

【数5】 [Equation 5]

【0044】ここで、m1 ,m2 は、目的関数f1 ,f
2 における探索の進渉度を表すパラメータであり、その
初期値はともに2であるとする。つぎに探索を行うため
の初期解を与える必要がある。この初期値はランダムに
生成してもいいし、何らかの手段で“良い”初期解を生
成してもいい。ここでは、図3のS21で図5のような
初期解が入力されたとする。
Here, m 1 and m 2 are objective functions f 1 and f
It is a parameter indicating the progress of the search in 2 and its initial value is 2 in both cases. Next, it is necessary to give an initial solution for the search. This initial value may be randomly generated or a “good” initial solution may be generated by some means. Here, it is assumed that the initial solution as shown in FIG. 5 is input in S21 of FIG.

【0045】この解は、機械1では、どの日も製品1を
生産し、機械2では、最初の2日が製品2を、残り3日
で製品3を生産するような解である。まず、この初期解
をSとする。初期解における目的関数の値は次のように
なる。
This solution is such that the machine 1 produces the product 1 every day, and the machine 2 produces the product 2 in the first 2 days and the product 3 in the remaining 3 days. First, let S be this initial solution. The value of the objective function in the initial solution is as follows.

【0046】f1 (S)=1 f2 (S)=4 次に、S24でこの解の一部を変更して、Sの近傍S′
を生成する。近傍生成の方法には様々な方法があるが、
ここでは最もプリミティプな方法として、変数を1つ選
択して、その値を変えることにより近傍を生成するもの
とする。はじめの近傍S′として、S24で変数x
〔2,5〕の値を2に変更した解を生成するとする。こ
のときS′における目的関数値は、 f1(S′)=2 f2(S′)=2 となる。このことから、S25における各目的関数毎の
遷移確率p1 ,p2 は、次のようになる。
F 1 (S) = 1 f 2 (S) = 4 Next, in S24, a part of this solution is changed so that the neighborhood of S '
To generate. There are various methods for neighborhood generation,
Here, as the most primitive method, it is assumed that one variable is selected and its value is changed to generate a neighborhood. As the first neighborhood S ′, the variable x
It is assumed that a solution in which the value of [2,5] is changed to 2 is generated. At this time, the objective function value in S'is f1 (S ') = 2 f2 (S') = 2. From this, the transition probabilities p 1 and p 2 for each objective function in S25 are as follows.

【0047】P1 =P1 (2,1,2)=2-1=0.5 P2 =P2 (2,4,2)=1 この2つの確率の積を取ることにより、S26で全体の
遷移確率Ptotal を求めると、 Ptotal =P1 * 2 =0.5 となる。次に、0以上1以下の乱数rを使って、Sから
S′に移動するかどうかを決める。ここでは、S27で
r=0.35となったとする。このとき、S28でr<P
total が成り立つから、S29で S←S′ とする(S′に移動する)。
P 1 = P 1 (2,1,2) = 2 −1 = 0.5 P 2 = P 2 (2,4,2) = 1 By taking the product of these two probabilities, the total of When the transition probability P total is obtained, P total = P 1 * P 2 = 0.5. Next, a random number r of 0 or more and 1 or less is used to determine whether to move from S to S '. Here, it is assumed that r = 0.35 in S27. At this time, in S28, r <P
Since total holds, S ← S ′ is set in S29 (moves to S ′).

【0048】次に、S22で探索終了条件が満足されな
いものとして、S23で探索パラメータm1 ,m2 を更
新する。ここでは、ともに1づつ増やす、すなわち、と
もに3にする(この更新法にも様々なバリエーションが
ある。例えば、定数倍にするとか、また常に値を変更す
るのではなくて、何回かに一度変更するという場合もあ
る。また、移動回数により変更するかしないかを決める
場合もある)。
Next, in S22, the search parameters m 1 and m 2 are updated assuming that the search end condition is not satisfied. Here, both are incremented by 1, that is, both are set to 3 (There are also various variations in this updating method. For example, instead of multiplying by a constant or constantly changing the value, once every several times. In some cases, it may be changed, and in other cases, it may be decided whether or not to change depending on the number of movements).

【0049】次に、新しいSの近傍S′を生成する。こ
のとき、x〔1,1〕の値を2に変更することにより、
S24でS′が作られたとする。このとき、S′におけ
る目的関数値は次のようになる。
Next, a new S neighborhood S'is generated. At this time, by changing the value of x [1,1] to 2,
It is assumed that S'is created in S24. At this time, the objective function value in S'is as follows.

【0050】f1 (S′)=4 f2 (S′)=0 よって、S25における目的関数別の遷移確率は次のよ
うになる。
F 1 (S ') = 4 f 2 (S') = 0 Therefore, the transition probabilities for each objective function in S25 are as follows.

【0051】P1 =p1 (3,2,4)=3-2=1/9 P2 =p2 (3,2,0)=1 よって、S26における全体の遷移確率Ptotal は、1/
9 になる。ここで再び乱数を使って、S′に移動するか
どうかを決める。S27で乱数rが0.72だったとする
と、S28でr≧Ptotal であるので、S′には移動し
ない。
P 1 = p 1 (3,2,4) = 3 −2 = 1/9 P 2 = p 2 (3,2,0) = 1 Therefore, the total transition probability P total in S 26 is 1 /
Become 9. Here, the random number is used again to determine whether to move to S '. If the random number r is 0.72 in S27, r ≧ P total in S28, and therefore the process does not move to S ′.

【0052】以後同様の手続きを探索の終了条件が満足
されるまで続け、終了条件が満足されたら、S30でそ
のときのSを解として出力して終了する。図6は本発明
の第2の実施例の処理フローチャートである。同図にお
いて、ステップS21〜S29の処理は第1の実施例の
フローチャートを示す図4と同じである。
Thereafter, the same procedure is continued until the search end condition is satisfied, and when the end condition is satisfied, S at that time is output as a solution and the process ends. FIG. 6 is a processing flowchart of the second embodiment of the present invention. In the figure, the processes of steps S21 to S29 are the same as those of FIG. 4 showing the flowchart of the first embodiment.

【0053】図6においてはS21とS22の間にS3
2の判定処理が追加され、S29において近傍S′が新
しい解Sとして採用された後にS32の判定処理が行わ
れる。S32においては、新しい解Sに対するN個の目
的関数Fi(S)(i=1,2,・・・,N)のそれぞ
れの値より対応する目的関数の値が小さい解S″が最良
解保存部に保存されているか否かが判定される。ここで
最良解保存部は、後述するS35で出力すべき解を最良
解として保存するものである。すなわちS32において
は、S29で新しい解とされたSよりも明らかに良い解
が最良解保存部に保存されているか否かが判定され、保
存されている場合にはこの解Sを最良解保存部に保存す
る必要がないので、S22以降の処理に移行する。
In FIG. 6, S3 is inserted between S21 and S22.
The determination process of 2 is added, and the determination process of S32 is performed after the neighborhood S ′ is adopted as the new solution S in S29. In S32, the solution S ″ having a smaller value of the corresponding objective function than the respective values of the N objective functions Fi (S) (i = 1, 2, ..., N) for the new solution S is stored as the best solution. The best solution storage section stores the solution to be output in S35, which will be described later, as the best solution, that is, in S32, it is set as a new solution in S29. It is determined whether a solution that is clearly better than S is stored in the best solution storage unit. If stored, it is not necessary to store this solution S in the best solution storage unit. Move to processing.

【0054】S32で新しい解Sよりも明らかに良い解
が最良解保存部に保存されていない場合には、S33の
処理に移行する。S33では、S32と逆に最良解保存
部に保存されている解のうちで新しい解Sよりも明らか
に悪い解が探され、そのような解がある場合にその解
S″が消去される。すなわち新しい解Sについての目的
関数のそれぞれの値より、対応する目的関数の値が大き
い解S″が最良解保存部に保存されている場合には、そ
の解S″が最良解保存部から消去される。なおS32で
はS″が明らかに良い解を指すのに対して、S33では
解S″は明らかに悪い解を指すものである。
In S32, if a solution that is obviously better than the new solution S is not stored in the best solution storage unit, the process proceeds to S33. Contrary to S32, in S33, a solution that is obviously worse than the new solution S among the solutions stored in the best solution storage unit is searched for, and if there is such a solution, the solution S ″ is deleted. That is, if a solution S ″ having a larger value of the corresponding objective function than each value of the objective function for the new solution S is stored in the best solution storage unit, the solution S ″ is deleted from the best solution storage unit. Note that in S32, S ″ clearly indicates a good solution, whereas in S33, the solution S ″ clearly indicates a bad solution.

【0055】S33の処理に続いて、S34で新しい解
Sが最良解保存部に保存されている解の集合に追加さ
れ、その後S22以降の処理が繰り返される。そしてS
22で探索の終了条件が満足されたと判定された時に、
S35で最良解保存部に保存されている解の集合が出力
され、処理を終了する。
Following the processing of S33, a new solution S is added to the solution set stored in the best solution storage unit in S34, and the processing of S22 and thereafter is repeated. And S
When it is determined in 22 that the search termination condition is satisfied,
In S35, the solution set stored in the best solution storage unit is output, and the process ends.

【0056】次に前述の操業計画問題について、第1実
施例との相違点を中心として第2実施例における処理を
説明する。まずはじめに、最良解保存部に保存されてい
る解の集合を空集合に初期化する。以下は第1の実施例
と同様に探索を進める。まず図5の初期解が生成され
る。前述のようにその目的関数値はf1 =1,f2 =4
である。最良解保存部には未だどのような解も保存され
ていないから、最良解保存部に保存されている解の集合
にS34で初期解を追加する。次に移動する先の解で
は、f1 =2,f2 =2となる(第1実施例の説明を参
照)。この解は、最良解保存部に保存されている解、す
なわち初期解と比べると、f1 は悪化しているものの、
2 は良くなっているので、最良解保存部で保存されて
いる解の集合にS34で追加される。すなわち、最良解
保存部には2つの解が保存されていることになる。さ
て、前述となり、次に移動した先の解における目的関数
値が、f1 =5,f2 =3だったとすると、この解は、
最良解保存部に保存されている2番目の解(f1 =2,
2 =2)と比較して、f1 ,f2 ともに悪いので、最
良解保存部には保存されない。次に移動した先の解の目
的関数値が、f1 =1,f2 =3だったとする。する
と、保存されている解のなかで、この解と比較して
1 ,f2 ともに良いものはないので、この解も追加さ
れる。それだけではなく、初期解は、この解よりも、f
1 ,f2 ともに悪いので、初期解はS33で最良解保存
部から削除される。このように、解が更新されるたびに
最良解保存部に保存されている解の集合を更新してい
き、探索の終了条件が満足されたら、S35で最良解保
存部に保存されている解の集合を出力して、終了する。
Next, regarding the above-mentioned operation planning problem, the first actual
The processing in the second embodiment is centered on the difference from the embodiment.
explain. First of all,
Initialize the set of solutions to the empty set. The following is the first embodiment
And proceed with the search. First, the initial solution of Fig. 5 is generated.
It As described above, the objective function value is f1= 1, f2= 4
Is. The best solution store will still store any solution.
The set of solutions stored in the best solution store
In S34, an initial solution is added. In the solution to move to next
Is f1= 2, f2= 2 (See the description of the first embodiment.
See). This solution is the solution stored in the best solution store.
That is, compared with the initial solution, f1Is getting worse,
f2Is better, so save it in the best solution saver
It is added to the set of existing solutions in S34. Ie the best solution
Two solutions are stored in the storage unit. It
And the above, and the objective function in the next solution moved to
The value is f1= 5, f2= 3, this solution is
The second solution (f stored in the best solution storage unit1= 2,
f2= 2), f1, F2Because both are bad,
It is not saved in the good answer storage section. Next solution eye moved to
The function value is f1= 1, f2= 3. Do
And compare it with the stored solution
f1, F2There is no good one, so I added this solution as well.
Be done. Not only that, the initial solution is f
1, F2Since both are bad, the initial solution is saved in S33 as the initial solution.
Deleted from the department. Thus, every time the solution is updated
Updating the set of solutions stored in the best solution store
If the search termination condition is satisfied, the best solution is maintained in S35.
Output the set of solutions stored in the existing section and end.

【0057】図7は本発明の第3実施例の処理フローチ
ャートである。同図を図6の第2実施例のフローチャー
トと比較すると、S34とS22との間にS36の処理
が追加されている点のみが異なっている。すなわちS3
4で新しい解Sが最良解保存部に追加された後に、S3
6で最良解保存部に保存されている解の個数が上限とし
てあらかじめ与えられている数よりも多い場合にそれぞ
れの解の有効度が計算され、最も有効度の悪い解が最良
解保存部から削除され、S22の処理に移行する。解の
有効度の定義については後述する。
FIG. 7 is a processing flowchart of the third embodiment of the present invention. When this figure is compared with the flowchart of the second embodiment of FIG. 6, the only difference is that the processing of S36 is added between S34 and S22. That is, S3
After the new solution S is added to the best solution store in step 4,
When the number of solutions stored in the best solution storage unit in 6 is greater than the number given in advance as the upper limit, the effectiveness of each solution is calculated, and the solution with the lowest effectiveness is stored in the best solution storage unit. It is deleted, and the process proceeds to S22. The definition of the effectiveness of the solution will be described later.

【0058】操業計画問題についての第3実施例におけ
る処理を第2実施例に対すると同様に説明する。第3実
施例では、最良解保存部に保存されている解の数が、予
め与えられている上限より少ない場合は、第2実施例と
全く同様に動作するので、保存されている解の数が上限
と等しくなったあとの動作について説明する。
The process for the operation plan problem in the third embodiment will be described in the same way as for the second embodiment. In the third embodiment, if the number of solutions stored in the best solution storage unit is smaller than the upper limit given in advance, the operation is exactly the same as in the second embodiment. The operation after is equal to the upper limit will be described.

【0059】保存できる解の数の上限を2とする。探索
がある程度進んだ段階で、f1 =1,f2 =4という解
(以下S1と書く)と、f1 =2,f2 =2という解
(以下S2と書く)の2つの解が最良解保存部に保存さ
れているとする。ここで、次に、f1 =3,f2 =0と
いう解(以下S3と書く)に移動したとする。このとき
S3と比べて、f1 ,f2 ともに良いような解は解保存
部に保存されていないから、S3は最良解保存部に保存
されている解の集合に追加される。すると、S36で保
存されている解の数が3となり、上限値2をオーバーす
る。このとき、保存されている解について、予め定義さ
れている解の有効度を計算し、最も悪い解を削除する。
例えば、解の有効度が、f1 +f2 (この値が小さいほ
ど有効)のように定義されていたとすると、S1の有効
度は5、S2の有効度は4、S3の有効度は3となるか
ら、S1が削除され、最良解保存部にはS2とS3とい
う2つの解が保存される。このように、探索中に最良解
保存部に保存されている解の数がある上限以下になるよ
うにして探索を進めることにより、必要となるメモリを
減らすとともに、解を最良解保存部に保存すべきかどう
かを判定する時間を減らすことによりトータルな探索時
間を短縮することができる。
The upper limit of the number of solutions that can be stored is 2. At the stage where the search has advanced to some extent, the two solutions of f 1 = 1 and f 2 = 4 (hereinafter referred to as S1) and f 1 = 2 and f 2 = 2 (hereinafter referred to as S2) are the best. It is assumed that the solution is stored in the solution storage section. Here, it is assumed that the next step is to move to a solution of f 1 = 3 and f 2 = 0 (hereinafter referred to as S3). At this time, as compared with S3, a solution having better f 1 and f 2 is not stored in the solution storage unit, so S3 is added to the set of solutions stored in the best solution storage unit. Then, the number of solutions stored in S36 becomes 3, which exceeds the upper limit value 2. At this time, with respect to the stored solution, the effectiveness of a predefined solution is calculated, and the worst solution is deleted.
For example, if the effectiveness of the solution is defined as f 1 + f 2 (the smaller the value, the more effective), the effectiveness of S1 is 5, the effectiveness of S2 is 4, and the effectiveness of S3 is 3. Therefore, S1 is deleted, and two solutions S2 and S3 are stored in the best solution storage unit. In this way, by proceeding with the search so that the number of solutions stored in the best solution storage unit during search is below the upper limit, the required memory is reduced and the solution is stored in the best solution storage unit. The total search time can be shortened by reducing the time for determining whether or not to do it.

【0060】[0060]

【発明の効果】以上詳細に説明したように、本発明によ
れば複数の目的関数を持つような多目的最適化問題にお
いて、一部の目的関数の最適化を犠牲にしたりすること
なく、複数の目的関数をできるだけ最適化した準最適解
を求めることが可能になり、設計問題や計画問題の解決
に寄与するところが大きい。
As described above in detail, according to the present invention, in a multi-objective optimization problem having a plurality of objective functions, a plurality of objective functions are not sacrificed without sacrificing optimization. It is possible to obtain a sub-optimal solution that optimizes the objective function as much as possible, and it greatly contributes to the solution of design problems and planning problems.

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

【図1】本発明の機能ブロック図である。FIG. 1 is a functional block diagram of the present invention.

【図2】本発明を実現するための計算機システムの構成
ブロック図である。
FIG. 2 is a configuration block diagram of a computer system for realizing the present invention.

【図3】本発明の第1実施例の処理フローチャートであ
る。
FIG. 3 is a processing flowchart of the first embodiment of the present invention.

【図4】操業計画問題を特徴づける定数を示す図であ
る。
FIG. 4 is a diagram showing constants that characterize the operation planning problem.

【図5】x〔m,d〕の初期解を示す図である。FIG. 5 is a diagram showing an initial solution of x [m, d].

【図6】本発明の第2実施例の処理フローチャートであ
る。
FIG. 6 is a processing flowchart of a second embodiment of the present invention.

【図7】本発明の第3実施例の処理フローチャートであ
る。
FIG. 7 is a processing flowchart of a third embodiment of the present invention.

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

10 中央処理装置(CPU) 11 メモリ 12 外部記憶装置 13 外部出力装置 10 Central Processing Unit (CPU) 11 Memory 12 External Storage Device 13 External Output Device

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 複数の目的関数を最適化する解を求める
多目的最適化問題解決方法において、 1つの解Sを生成し(1)、 該解Sに代わって新しい解を採用すべき確率としての遷
移確率を求めるための探索パラメータを決定し(2)、 該解Sの近傍S′を生成し(3)、 前記複数の各目的関数について新しい解となる可能性を
持つ該近傍S′への遷移確率を求め(4)、 該複数の各目的関数についての近傍S′への遷移確率か
ら全体としての近傍S′への遷移確率を計算し(5)、 該全体の遷移確率がある閾値より大きい時、前記近傍
S′を新しい解Sとして採用し、解を求めるための探索
の終了条件が満足されるまで前記探索パラメータの決定
(2)以降の処理を繰り返し(6)、 該全体の遷移確率が前記閾値より小さい時前記近傍S′
を新しい解Sとすることなく、前記探索の終了条件が満
足されるまで前記探索パラメータの決定(2)以降の処
理を繰り返し(7)、前記複数の目的関数をそれぞれ最
適化することを特徴とする多目的最適化問題解決方法。
1. A multi-objective optimization problem solving method for obtaining a solution for optimizing a plurality of objective functions, wherein one solution S is generated (1) and a new solution is adopted in place of the solution S as a probability. The search parameter for obtaining the transition probability is determined (2), the neighborhood S ′ of the solution S is generated (3), and the neighborhood S ′ having a possibility of becoming a new solution for each of the plurality of objective functions is obtained. The transition probability is calculated (4), and the transition probability to the neighborhood S ′ as a whole is calculated from the transition probability to the neighborhood S ′ for each of the plurality of objective functions (5). When it is larger, the neighborhood S ′ is adopted as a new solution S, and the processing after the determination of the search parameter (2) is repeated (6) until the search termination condition for finding the solution is satisfied (6), and the entire transition When the probability is smaller than the threshold, the neighborhood S
Is set as a new solution S, and the processing after the determination of the search parameter (2) is repeated (7) until the termination condition of the search is satisfied, and each of the plurality of objective functions is optimized. Multi-objective optimization problem solving method.
【請求項2】 前記1つの解Sの生成(1)に続き、該
解Sを最良解の1つとして保存した後に、前記解Sに代
わって新しい解を採用すべき確率としての遷移確率を求
めるための探索パラメータを決定する(2)ことと、 前記全体の遷移確率がある閾値より大きい時、前記近傍
S′を新しい解Sとして採用した後に、該新しい解につ
いての複数の目的関数の値よりも良い値を該複数の目的
関数の全てについて取る解が前記最良解として保存され
ているか否かを判定し、 保存されていない時、該最良解として保存されている解
のうちで、該新しい解についての複数の目的関数の値よ
りも悪い値を該複数の目的関数の全てについて取る解を
該最良解としての保存状態から外すと共に、該新しい解
を最良解の1つとして追加し、前記探索の終了条件が満
足されるまで前記探索パラメータの決定(2)以降の処
理を繰り返し、 前記判定の結果保存されている時、前記最良解として保
存されている解を変更することなく、前記探索の終了条
件が満足されるまで前記探索パラメータの決定(2)以
降の処理を繰り返すことを特徴とする請求項1記載の多
目的最適化問題解決方法。
2. Following the generation (1) of the one solution S, the transition probability as a probability that a new solution should be adopted in place of the solution S after the solution S is stored as one of the best solutions. (2) determining a search parameter for obtaining, and when the overall transition probability is larger than a certain threshold value, after adopting the neighborhood S ′ as a new solution S, values of a plurality of objective functions for the new solution It is determined whether a solution that takes a better value for all of the plurality of objective functions is stored as the best solution, and when not stored, among the solutions stored as the best solution, the The solution that takes a value that is worse than the values of the objective functions for the new solution for all of the objective functions is removed from the saved state as the best solution, and the new solution is added as one of the best solutions, Conditions for ending the search The processing after the determination (2) of the search parameter is repeated until it is satisfied, and when the result of the determination is stored, the termination condition of the search is satisfied without changing the solution stored as the best solution. 2. The multi-objective optimization problem solving method according to claim 1, wherein the processing after the determination (2) of the search parameter is repeated until the above-mentioned steps are performed.
【請求項3】 前記最良解として保存可能な解の個数が
一定値以下に制限され、 前記判定結果が保存されていないことを示す時、該最良
解として保存されている解のうち、該新しい解について
の複数の目的関数の値より悪い値を該複数の目的関数の
全てについて取る解を前記最良解としての保存状態から
外すと共に該新しい解を最良解の1つとして追加し、 その結果該最良解として保存されている解の個数が前記
一定値を越えたならば、該保存されている各解の有効度
を調べて該有効度の最も悪い解を該最良解としての保存
状態から外して、前記探索の終了条件が満足されるまで
前記探索パラメータの決定(2)以降の処理を繰り返す
ことを特徴とする請求項2記載の多目的最適化問題解決
方法。
3. When the number of solutions that can be stored as the best solution is limited to a certain value or less and the judgment result indicates that the solution is not stored, the new solution among the solutions stored as the best solution is used. The solution that takes a value worse than the values of the plurality of objective functions for the solution for all of the plurality of objective functions is removed from the saved state as the best solution, and the new solution is added as one of the best solutions, so that If the number of solutions stored as the best solution exceeds the fixed value, the effectiveness of each stored solution is examined, and the solution with the lowest effectiveness is removed from the storage state as the best solution. 3. The multi-objective optimization problem solving method according to claim 2, wherein the processing after the determination (2) of the search parameter is repeated until the termination condition of the search is satisfied.
【請求項4】 前記全体の遷移確率の計算(5)の後
に、0以上1未満の範囲にある乱数を1つ求め、 該1つの乱数の値を前記ある閾値として用いることを特
徴とする請求項1記載の多目的最適化問題解決方法。
4. The calculation of the overall transition probability (5), after obtaining one random number in the range of 0 or more and less than 1, the value of the one random number is used as the certain threshold value. The multi-objective optimization problem solving method according to item 1.
JP18575793A 1993-07-28 1993-07-28 Multipurpose optimizing problem solving method Withdrawn JPH0744611A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18575793A JPH0744611A (en) 1993-07-28 1993-07-28 Multipurpose optimizing problem solving method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18575793A JPH0744611A (en) 1993-07-28 1993-07-28 Multipurpose optimizing problem solving method

Publications (1)

Publication Number Publication Date
JPH0744611A true JPH0744611A (en) 1995-02-14

Family

ID=16176339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18575793A Withdrawn JPH0744611A (en) 1993-07-28 1993-07-28 Multipurpose optimizing problem solving method

Country Status (1)

Country Link
JP (1) JPH0744611A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215673A (en) * 2000-11-17 2002-08-02 Sony Computer Entertainment Inc Information processing program, recording medium recording information processing program, information processor and method
KR101024428B1 (en) * 2008-01-14 2011-03-23 후지쯔 가부시끼가이샤 Multi-objective optimum design support device using mathematical process technique, its method and recording medium
US8244657B2 (en) 2008-01-29 2012-08-14 International Business Machines Corporation Multi-objective optimization using weight adjustment of initial and corrected solutions
US8412494B2 (en) 2008-09-04 2013-04-02 Fujitsu Limited Optimal solution relation display apparatus and optimal solution relation display method
JP2019200695A (en) * 2018-05-18 2019-11-21 日本製鉄株式会社 Plan creation device, plan creation method, and program

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215673A (en) * 2000-11-17 2002-08-02 Sony Computer Entertainment Inc Information processing program, recording medium recording information processing program, information processor and method
KR101024428B1 (en) * 2008-01-14 2011-03-23 후지쯔 가부시끼가이샤 Multi-objective optimum design support device using mathematical process technique, its method and recording medium
US8244657B2 (en) 2008-01-29 2012-08-14 International Business Machines Corporation Multi-objective optimization using weight adjustment of initial and corrected solutions
US8412494B2 (en) 2008-09-04 2013-04-02 Fujitsu Limited Optimal solution relation display apparatus and optimal solution relation display method
JP2019200695A (en) * 2018-05-18 2019-11-21 日本製鉄株式会社 Plan creation device, plan creation method, and program

Similar Documents

Publication Publication Date Title
Smith et al. An enhanced genetic algorithm for automated assembly planning
Chamnanlor et al. Embedding ant system in genetic algorithm for re-entrant hybrid flow shop scheduling problems with time window constraints
Yamada et al. Genetic algorithms for job-shop scheduling problems
Ganco et al. NK modeling methodology in the strategy literature: Bounded search on a rugged landscape
Li et al. A hybrid Pareto-based local search algorithm for multi-objective flexible job shop scheduling problems
Wang et al. A graph-based ant colony optimization approach for integrated process planning and scheduling
US20210278822A1 (en) Systems and methods for automated prediction of machining workflow in computer aided manufacturing
Tavana et al. An evolutionary computation approach to solving repairable multi-state multi-objective redundancy allocation problems
WO2008156595A1 (en) Hybrid method for simulation optimization
Welikala et al. Distributed nonconvex optimization of multiagent systems using boosting functions to escape local optima
US20030144748A1 (en) Apparatus for optimizing combinatorial optimization problems
JPH0744611A (en) Multipurpose optimizing problem solving method
Hasan et al. Local search algorithms for the maximal planar layout problem
JP2019219741A (en) Learning control method and computer system
Kim et al. An iterative approach to system setup problems in flexible manufacturing systems
CN116430805A (en) Workshop scheduling control method and device, production line and working machine
CN116414094A (en) Intelligent scheduling method and system for welding assembly
Renders et al. Genetic algorithms for process control: A survey
JP2000197270A (en) Method for determining optimum installing place of phase modifying equipment in power distributing system
Luo et al. Sampling-based adaptive bounding evolutionary algorithm for continuous optimization problems
Fujita Deep Reinforcement Learning Approach for Maintenance Planning in a Flow-Shop Scheduling Problem
JP6795240B1 (en) Controls, methods and programs
CN115293623A (en) Training method and device for production scheduling model, electronic equipment and medium
Castillo et al. Genetic algorithms for batch sizing and production scheduling
Nappu et al. Path-relinking Grey Wolf Optimizer for Solving Operation Sequencing Problem

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20001003