JPH09128362A - 最適配置方法及びその装置 - Google Patents

最適配置方法及びその装置

Info

Publication number
JPH09128362A
JPH09128362A JP7285490A JP28549095A JPH09128362A JP H09128362 A JPH09128362 A JP H09128362A JP 7285490 A JP7285490 A JP 7285490A JP 28549095 A JP28549095 A JP 28549095A JP H09128362 A JPH09128362 A JP H09128362A
Authority
JP
Japan
Prior art keywords
value
process unit
input value
arrangement
placement
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
JP7285490A
Other languages
English (en)
Inventor
Kazuhiro Tsuchiya
和広 土屋
Yoshiyasu Mutou
佳恭 武藤
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co 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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP7285490A priority Critical patent/JPH09128362A/ja
Publication of JPH09128362A publication Critical patent/JPH09128362A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 集積回路、プリント板、資源等の最適配置を
求めるニューラルネットワークによる最適配置方法に関
し、より短い時間で、より良い近似解を得られるニュー
ラルネットワーク及び方法を提案することを目的とす
る。 【解決手段】 各ニューロンが個々に独立にその入力か
ら出力を出すのではなく、互いに相互作用を及ぼしなが
らネットワークの出力を決定する。選択されたニューロ
ン(黒います目)の出力は、このニューロンと同じ行、
列の他のニューロンに作用し、同一の行、列に重複して
ニューロンが選択されることはない。これによって常に
必要条件を満足することを保証できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、工場や集積回路、
プリント板、資源等における配置問題を、簡単かつ高速
に解決する最適配置方法及びその装置に関する。
【0002】
【従来の技術、及び発明が解決しようとする課題】従来
の技術として、“Recent models and techniques for
solving thelayout problem”Sunderesh S.Heragu (Eur
opean Journal of OperationalResearch 57(1992)136-1
44 North-Holland) 、及び“Suboptimal solution forP
LA multiple column folding ”F Luccio and M C Pino
tti(Computer-AidedDesign, colume22 number 8 octob
er 1990 p515-520)等が挙げられる。
【0003】一般に、最適配置方法には、従来より様々
な方法が提案されている。その中で比較的容易に最適配
置或いは最適配置に近い配置が得られる方法として、シ
ミュレーティッドアニーリングと呼ばれる方法が、広く
用いられている。
【0004】このシミュレーティッドアニーリング法
は、物体の冷却過程をモデルとしている。詳しく説明す
ると、この方法は「温度パラメータ」と呼ばれる繰り返
し計算回数に相当するパラメータを用いて、温度が高い
ときには配置を大きく変化させ、温度が低くなるにした
がって配置の変化を小さくしていき、目的値を得る手法
である。
【0005】上記のシミュレーティッドアニーリング法
では、温度の初期値、冷却過程での配置変更スケジュー
リング、評価関数のしきい値等、多くのパラメータを設
定しなければならず、また、最適配置により近い配置を
得る為には、その分温度を十分緩やかに冷却しなければ
ならない為、非常に時間がかかるという問題点があっ
た。
【0006】また、最適配置方法には、進化的プログラ
ミング或いは遺伝的アルゴリズムと呼ばれる手法や、ニ
ューラルネットワークと呼ばれる方法も提案されてい
る。進化的プログラミング或いは遺伝的アルゴリズム
は、生物の進化モデルを基にしており、遺伝子に相当す
る“ユニット”を交換させながら、目的値により近い、
あるいは目的とする値の最小値あるいは最大値により近
い値を得ることができる遺伝子を優性保存し、繰り返し
計算を行う方法である。この場合、各ユニットは、被配
置物と配置場所の関係を示すことになる。
【0007】このような進化的プログラミング或いは遺
伝的アルゴリズムでもシミュレーティッドアニーリング
法と同様に、遺伝子の数、ユニットの交換スケジューリ
ング、評価関数のしきい値等の多くのパラメータを設定
しなければならない。
【0008】更に、最適配置により近い配置を得る為に
は、その分多くの遺伝子を用いなければならず、非常に
時間がかかり、また大量の記憶領域が必要となるという
問題点があった。
【0009】上記いずれの方法においても、非常に時間
がかかるということは(問題にもよるが)天文学的な数
値を意味することであることは良く知られていることで
ある。
【0010】一方、ホップフィールド型と呼ばれるモデ
ルのニューラルネットワークによる方法が知られてい
る。これは、生物の神経網をモデルにしており、ニュー
ロンを呼ばれるプロセスユニットを用い、ニューロンの
入出力状態を変化させることにより、目的値を得る、ま
たは目的とする値を最小あるいは最大とする方法であ
る。この方法では、ニューロンの入出力が、被配置物と
配置場所の関係を示すことになる。入出力の変化量は、
ニューロンの伝達信号の遅延、必要十分条件、及び目的
値または目的とする値から決定される。
【0011】ここで図15は、従来のホップフィールド
型ニューラルネットワークの概念図である。同図におい
て、各プロセスユニット30は、その出力Vi が他の全
てのプロセスユニットの入力Ui となるように構成され
ている。そして、各プロセスユニットの入出力の関係を
決定するものとして、例えば同図に示すようなシグモイ
ド関数が用いられていた。
【0012】そして、入力値の変化量dUi /dTは、
必要十分条件とコスト関数を計算することにより求めて
いた。ここで必要十分条件の計算は、必要条件を満たし
ているか否かに関するペナルティ項を導入する計算であ
り、多くの時間が費やされるものである。
【0013】ここで、上記ペナルティ項、必要条件につ
いて説明しておく。ペナルティ項(ペナルティ関数)
は、目的関数の最小化と同時に必要条件(制約条件とも
いう)を満足するという2つの異なる目標を達成する尺
度として導入されるものであり、必要条件の不満足度に
相応した正の値をとることから、必要条件をやぶったと
きに課せられるペナルティと考えることができるもので
ある。
【0014】そして、上記2つの目標を満足させること
により、求める最適解のより良い近似解が得られるこ
と、すなわち最適配置により近い配置が得られることが
期待できることが知られている。
【0015】このようなホップフィールド型ニューラル
ネットワークでは、パラメータの数が少なく、計算の並
列処理化が可能な為、上記シミュレーティッドアニーリ
ング法等と比べると、比較的短時間で最適配置、あるい
は最適配置に近い配置が得られものである。
【0016】しかしながら、各プロセスユニットが互い
に独立にその入力から出力を決定していたため、常に問
題の必要条件が満たされることを保証することができな
かった。また、このため上記ペナルティ項を導入する計
算を行わなければならなかったので、ニューロンの入力
値の変化量を決定する運動方程式が非常に複雑なものと
なり、計算のために多くの時間が費されていた。
【0017】本発明の課題は、少ないパラメータを用
い、短時間で最適配置を得ることができる最適配置方法
及びその装置を提供することである。
【0018】
【課題を解決するための手段】図1は、本発明の原理ブ
ロック図である。同図において、非重複選出手段1は、
N×N個のプロセスユニット3よりなるニューラルネッ
トワークにおいて、上記プロセスユニット3のなかから
入力値の大きなものから順に、且つ、各被配置物の配置
場所が重複しないようにN個を選び出すものである。
【0019】入力値更新手段2は、上記選択したプロセ
スユニットの入力値を変化させるものである。入力値の
変化は、前記選択した各プロセスユニットの示す被配置
物の配置により得られた値のみを変数として各プロセス
ユニットの入力値の変化量を計算して行うものである。
【0020】N個の被配置物をN個の場所に配置し、目
的値を得る、又は目的とする値を最小あるいは最大とす
ることで最適配置を得る最適配置方法において、N個の
被配置物をN個の場所に配置することが必要条件とな
る。
【0021】本発明によれば、非重複選出手段1によ
り、被配置物と配置場所の関係を示すN×N個のプロセ
スユニット3の中から、入力値の大きなプロセスユニッ
トから順に、且つ各被配置物の配置場所が互いに重複し
ないようにN個を選び出すことにより、プロセスユニッ
トを選択する時点で既に上記必要条件を満たすことがで
きる。
【0022】これによって、必要十分条件としてのペナ
ルティ項の計算を行う必要はなく、入力値更新手段2に
より実際の配置による値Rのみを変数として計算(コス
ト関数の計算)することで、入力値の変化量を計算で
き、入力値を更新する。
【0023】
【発明の実施の形態】以下、本発明の実施例について図
面を参照しながら詳述する。図2は、本発明のニューラ
ルネットワークの概念図である。
【0024】同図において、プロセスユニット群10は
N×N個のプロセスユニットである。従来のホップフィ
ールド型ネットワークと異なる点は、各プロセスユニッ
トが独立にその入力から出力を出すのではなく、互いに
相互作用を及ぼしながらネットワークの出力を決定する
ことである。
【0025】上記プロセスユニット群10は、例えば同
図の左上に示されるように、ある選択されたプロセスユ
ニット(例えば中央の黒いマス目)の出力(=1)が、
当該プロセスユニットと同じ列と行のプロセスユニット
(上下左右4方向の矢印で示される)の出力を抑制する
ような作用を及ぼすように構成されている。
【0026】本発明では、上記ニューラルネットワーク
において、以下の式(1)に従ってN個のプロセスユニ
ットを選択する。
【0027】
【数1】
【0028】ここで、上記(1)式において、Ui,j は
i行j列番目のプロセスユニットの入力を示し、Vi,j
=1は被配置物iが配置場所jに配置されていることを
示す。また、Vi,j =0は被配置物iが配置場所jに配
置されていないことを示す。
【0029】すなわち、入力値の大きなプロセスユニッ
トから順に、且つ選択する各プロセスユニットの列及び
行が互いに重複しないようにしてN個のプロセスユニッ
トを選択する。
【0030】これにより本発明では、以下の式(2)、
(3)に示す必要条件を満足することができる。
【0031】
【数2】
【0032】このようにプロセスユニットの選択の段階
で既に必要条件を満足するようにしていることより、d
Ui /dtの計算は、従来の方法のように必要十分条件
についての計算をする必要はなく、コスト関数の計算の
みで算出することができる。
【0033】ここで上記必要十分条件についての計算と
は、従来の技術で述べたペナルティ項に係わる計算と同
様のものである。また、コスト関数の計算とは本実施例
における後述する実際の配置による値Rを意味するもの
と考えても良い。
【0034】図3は、本発明の最適配置を得る計算方法
を示すフローチャートである。同図において、tは繰り
返し回数、t_limitは計算の打ち切りを決める最
大繰り返し回数である。また、Qは目的値である。
【0035】同図において処理が開始されると、まずt
=0とし、終了条件を設定する。すなわち、t_lim
it及び目的値Qを設定する(S1)。次に、時刻tに
おける各プロセスユニット全ての入力値Ui,j(t)を乱数
を用いて初期化する(S2)。
【0036】以上のように設定値、及び初期状態を決定
すると、続いて最適解を得るための処理を行う。まず上
記(1)式を用いて全てのプロセスユニットの出力Vi,
j(t)を計算する。すなわち、上述したように、N×N個
の全てのプロセスユニットより、入力値の大きなものか
ら順に且つ互いに重複しないようにしてN個のプロセス
ユニットを選択する(S3)。
【0037】これにより、上記した必要条件(2)、
(3)式を満足することができる。よって、dUij/d
tをコスト関数を計算することにより求めることができ
る。すなわち、以下の(4)式を用いてdUij/dtを
計算する(S4)。ここで、dUij/dtはプロセスユ
ニットの入力値の変化量を表す。
【0038】
【数3】
【0039】上記(4)式において、Rは実際の配置に
よる値(コスト)である。上記計算の結果、dUij/d
tが0以上の値になった場合は、この時の解を保存して
処理を終了する(S5,S10)。そうでなければ、次
の繰り返し回数t+1における各プロセスユニットの入
力値を、上記算出した変化量によって計算する(S
6)。つまり、以下の(5)式を用いて計算する。
【0040】 Ui,j(t+1) = Ui,j(t) + (Q−R) ・・・(5) そして、(5)式の計算結果より各プロセスユニットの
入力値を変化させる。続いて、繰り返し回数t+1にお
けるプロセスユニットの出力Vi,j(t+1)を計算する(S
7)。すなわち、上記のようにして入力値を変化させた
N×N個のプロセスユニットにおいて、(1)式を用い
て出力Vi,j(t+1)を計算する。
【0041】最後に、tがt_limit(計算の打ち
切りを決める最大繰り返し回数)になったか否かを判定
し(S8)、tがt_limitになった場合は、解を
保存して計算を終了する。一方、tが未だt_limi
tになっていない場合には、tに1を加えて(S9)、
上記S5あるいはS8のいずれかの条件を満たすまでの
あいだ、上記S4からS9の過程を繰り返す。
【0042】ところで、ここで、上記フローチャートの
(1)式及び(4)式を用いた計算により、本発明のN
×N個のプロセスユニットの系のエネルギーEの時間微
分(=dE/dt)が常に0以下であることを証明し
て、各プロセスユニットの入力値を(4)式に従って繰
り返し更新することにより系を常に収束させることが出
来ることを示しておく。
【0043】命題:
【0044】
【数4】
【0045】は以下の(1)(2)の二つの条件下で常
に満足される。
【0046】
【数5】
【0047】
【数6】
【0048】証明:
【0049】
【数7】
【0050】ここで、
【0051】
【数8】
【0052】とする。今、a行b列番目のプロセスユニ
ットの入力のみが時間tとt+dtの間に変化したとす
ると、dE/dtは以下のようになる。
【0053】
【数9】
【0054】ここで、上記条件(1)(2)より、次の
二つの場合を考えることが必要十分条件となる。 1)Va,b(t+dt) = Va,b(t) 2)Va,b(t+dt) = 0、Va,b(t) = 1 上記場合1)が満たされた場合、
【0055】
【数10】
【0056】となる。なぜなら、Va,b(t+dt) −Va,b
(t)=0。上記場合2)が満たされた場合、
【0057】
【数11】
【0058】となる。なぜなら、Va,b(t+dt) −Va,b
(t)=−1、且つ
【0059】
【数12】
【0060】したがって、
【0061】
【数13】
【0062】となる。証明終わり。以下、本発明の第1
の実施例について図面を参照しながら詳述する。
【0063】第1の実施例では、5個の資源を5個の場
所に配置する場合の最適配置を考えるものとする。この
問題を解くために、図4に示す5行5列のアレイに配置
したプロセスユニットを用いる。ここで、同図によって
5×5の25個のプロセスユニットが示されているもの
とする。同図に示すアレイの各行は各被配置物(資源)
に対応し、各列は各配置場所(場所)に対応する。
【0064】すなわち、同図に示すアレイの1行目は被
配置物1に対応し、2行目は被配置物2に対応するもの
である。他の3、4、5行も同様にして各被配置物に対
応するものである。同じく、アレイの1列目は配置場所
1に対応し、2列目は配置場所2に対応するものであ
る。他の3、4、5列も同様にして各配置場所に対応す
るものである。
【0065】図5は、図4に示す5×5個の各プロセス
ユニットの入力値を示す図である。同図に示す入力値
は、ここでは初期設定値であるものとする。初期設定値
は、ランダムに(例えば乱数を用いて)設定するもので
あっても良い。
【0066】同図において、例えば1行2列番目のプロ
セスユニットの入力値、すなわち被配置物1を配置場所
2に配置する場合に対応するプロセスユニットの入力値
は11である。
【0067】以上述べた条件のもとで、以下に図3に示
すフローチャートのステップS3に対応する第1の実施
例の処理を説明する。ここで、図6(a)〜(d)は、
本発明におけるプロセスユニットの出力方法を示す図で
ある。言い換えるならば、図6は、図2に示す互いに相
互作用を及ぼしながらネットワークの出力を決定するプ
ロセスユニット群1において、図5に示す5×5のプロ
セスユニットの入力値の状態を例にして、入力値の大き
なものから順にプロセスユニットを選択する方法ととも
に、選択した5個のプロセスユニットが必要条件を満た
すようにする上記相互作用を示す図であると言える。
【0068】まず同図(a)において、入力値が最大
(90)である1行1列番目のプロセスユニットが選択
される。つまり、当該プロセスユニットが示す被配置物
1が同じく当該プロセスユニットが示す配置場所1に配
置される。このように選択されることは、当該プロセス
ユニットの出力が1になることを意味する。この出力
は、図の矢印で示されるような当該プロセスユニットと
同じ行、同じ列の各プロセスユニットの出力を抑制する
ように働く。これにより、上記選択された1行1列番目
のプロセスユニットと同じ行、列の各プロセスユニット
は、以後選択されないことになる。
【0069】したがって、次に、同図(b)において、
上記選択した1行1列番目のプロセスユニット、及び当
該プロセスユニットと同じ行、同じ列のプロセスユニッ
トを除いたプロセスユニットの中から選択が行われるこ
とになる。すなわち、入力値が最大(71)である2行
2列番目のプロセスユニットが選択される。そして、同
図(a)の説明と同様にして、当該プロセスユニットと
同じ行、同じ列の各プロセスユニットは、以後選択され
ないことになる。
【0070】以下、同図(c)、(d)においても同様
にして、既に選択されたプロセスユニットと、当該プロ
セスユニットと同じ列、同じ行のプロセスユニットを除
いた残りのプロセスユニットのなかから入力値が最大の
ものを順次選択していくことで、5個のプロセスユニッ
ト選択することにより必要条件を満足することを保証で
きる。
【0071】尚、同図(b)、(c)、(d)において
は、既に選択されたプロセスユニットは黒います目で示
してある。そして、上記図6の選択の結果、図7に示す
ように資源1が場所1に、資源2が場所2に、資源3が
場所3に、資源4が場所4に、資源5が場所5にそれぞ
れ配置される。
【0072】図7は、5個の場所に配置された5個の資
源を示す説明図である。同図において例えばfacility #
1 in location #1とは、資源1が場所1に配置されるこ
とを示している。
【0073】続いて、図3に示すフローチャートのステ
ップS4に対応する第1の実施例の計算法を説明する。
本実施例においては、5個の被配置物を5個の配置場所
に配置する際、被配置物i及びj(i,j;1〜5の整
数)に対して、被配置物iと被配置物jとの間の負荷C
i,j と、配置場所p及びq(p,q;1〜5の整数)と
の距離Dp,q が与えられた時、全ての被配置物i及びj
に対して、その負荷と距離の積を最小にする最適配置を
考える。
【0074】即ち、以下の(6)式で表される実際の配
置による値R(コスト)を最小にすることを考える。
【0075】
【数14】
【0076】ここで(6)式において、Vi,p は、被配
置物iが配置場所pに配置されているか否かによって、
0あるいは1の値をとるものである。Vi,p =1は、被
配置物iが配置場所pに配置されていることを示す。ま
た、Vi,p =0は、被配置物iが配置場所pに配置され
ていないことを示す。
【0077】また、被配置物iと被配置物j間の負荷C
i,j と、配置場所pと配置場所qの距離Dp,q は、与え
られた問題によって既に決定している値であり、本実施
例では図8に示す値が与えられている。すなわち本実施
例では図7に示すような5つの場所に5つの資源を配置
する問題であるので、例えば場所1(location #1)と場
所5のように距離が遠い場合、図8に示すようにd1,5
(=d5,1)の値は3となっており、場所1と場所3のよう
に距離が近い場合はd1,3 (=d3,1)の値は1となってい
る。
【0078】したがって、上述したように選択され、図
7に示すように資源1が場所1に、資源2が場所2に、
資源3が場所3に、資源4が場所4に、資源5が場所5
にそれぞれ配置された場合の実際の配置による値Rは、
図8に示される値を用いて(6)式を計算すると、以下
のように算出できる。
【0079】 (C1,2 ×D1,2 )+(C1,3 ×D1,3 )+(C1,4 ×D1,4 )+(C1,4 × D1,4 )+(C1,5 ×D1,5 )+(C2,3 ×D2,3 )+(C2,4 ×D2,4 )+( C2,5 ×D2,5 )+(C3,4 ×D3,4 )+(C4,5 ×D4,5 ) =(1×5)+(1×2)+(2×4)+(3×1)+(2×3)+(1×0 )+(2×2)+(1×0)+(2×0)+(1×5) =33 このようにRの値は33となる。
【0080】ここで、時間tから時間t+1になったと
きの各プロセスユニットの入力値の変化量は(4)式に
より得られる。したがって、上記のようにRの値33が
得られ、また本実施例においては目標値Qは20に設定
してあるものとすると、上記5個の各プロセッサユニッ
ト(1行1列番目、2行2列番目、3行3列番目、4行
4列番目、5行5列番目)の入力値の変化量(dUij/
dt)はQ−R、即ち−13となる。
【0081】よって、上記5個の各プロセッサユニット
の時間tでの入力値(90、71、62、45、37)
は、それぞれ時間t+1においては入力値(77、5
8、49、32、24)となる。
【0082】続いて、上記1行1列番目、2行2列番
目、3行3列番目、4行4列番目、5行5列番目の5個
のプロセスユニット以外のプロセスユニットの入力値の
変化量を計算する。
【0083】このとき、本実施例では、上記選択した5
個のプロセスユニットの一部の配置を入れ換えることに
より、入力値の変化量を計算する。これにより、必要条
件を保証でき、且つ入力値の変化量の計算を簡略化でき
る。
【0084】たとえば、2行1列番目のプロセスユニッ
トの入力値を決定する際、図9に示すように、当該プロ
セスユニットの示す被配置物2を配置場所1に一時的に
配置する。この時、配置場所1に配置されている被配置
物1を当該被配置物2が配置されていた配置場所2に一
時的に配置する。
【0085】これにより、Rが簡単に計算でき、28を
得る。したがって、上記のように目的値Qは20なの
で、上記2行1列番目のプロセスユニットの入力値は−
8変化する。
【0086】その後、被配置物1及び2は元の配置場所
に戻される。これと同様の方法で、残りの全てのプロセ
スユニットの入力値の変化量を求める。但し、1行2列
番目のプロセスユニットは被配置物1及び配置場所2に
対応するプロセスユニットとすると、2行1列番目のプ
ロセスユニットの入力値の変化量は1行2列番目のプロ
セスユニットの入力値の変化量と等しくなる。したがっ
て、どちらかを計算すればよい。
【0087】そして、入力値の変化量が正の値(dUij
/dt>0)である場合は、解を保存し、計算を終了す
る。そうでなければ、全てのプロセスユニットについ
て、(6)式に従って入力を変化させる。
【0088】以上で、時間tにおける一連の過程が終了
する。続いて、上述した時間tにおける一連の過程を、
時間t+1においても同様にして行う。このように、上
記過程を繰り返すうちに(6)式の値を減少させること
ができる。但し、ここでいう減少とは、常時減少するも
のとは限らない。一時的にではあるが増加することもあ
り得る。
【0089】そして、上記過程を繰り返すうちに、Q−
R≧0となった場合、その時の解は最適解、あるいは最
適解に近いものであり、解を保存して計算を終了する。
本実施例における被配置物は、工場、倉庫、品物、集積
回路、プラント等でもよい。またその時、本実施例にお
ける被配置物間の負荷や配置場所間の距離は他の評価値
で置き換えられる。さらに、本発明は最適日程計画、最
適工程計画にも用いることができる。
【0090】次に、本発明の第2の実施例について、図
面を参照して詳述する。第2の実施例は、PLA fo
lding問題に関して最適配置を得る手法を説明す
る。ここで上記折りたたみPLAとは、行や列を切断し
折りたたむことで更に面積効率を向上するPLAのこと
である。
【0091】この問題において、本実施例では、N本の
まっすぐなラインをN個の互いに平行なまっすぐな配置
場所に配置する際、当該ラインに対して垂直、且つ、単
数個のライン或いは複数個のライン間を接合する別のま
っすぐなライン「ネット」が複数存在し、当該配置場所
に対して垂直な別のまっすぐな配置場所「トラック」が
複数存在する時、当該ネットが互いに交わらないよう
に、当該トラックに当該ネットを最大2つまで設定で
き、且つ、できる限り少ないトラック数で当該ネットを
当該トラックに設定できるよう、当該ラインを当該配置
場所に配置する最適配置方法を考える。
【0092】尚、本実施例では、上記第1の実施例のよ
うな関数等による目的とする値ではなく、トラック数で
表される値を最小にすることを考える。図10は、NM
OS NOR回路によるPLA(Programmable Logic A
rray)の構成を示す図である。
【0093】同図において、ANDアレイ(AND平
面)は縦の列として7本の入力線A〜G(ネット)を有
し、ORアレイ(OR平面)は縦の列としての2本の出
力線H〜I(ネット)を有する。また、横方向に6本の
ライン1〜6(product lines)を有する。上記縦の入出
力線と横のラインの交点には、同図に示すようにトラン
ジスタ20が設けられている。
【0094】この問題を解くために、本実施例では、図
11に示す6行6列のアレイに配置した6×6個のプロ
セスユニットを用いる。ここで当該アレイの各行が各ラ
インに対応し、各列が当該各ラインの各配置場所に対応
する。また、同図における黒いプロセスユニットは当該
プロセスユニットに対応するラインが当該プロセスユニ
ットに対応する配置場所に配置されていることを示す。
また、白いプロセスユニットは当該プロセスユニットに
対応するラインが当該プロセスユニットに対応する配置
場所に配置されていないことを示す。
【0095】第2の実施例においても、第1の実施例に
おける図6の説明による方法と同様に、当該6×6個の
プロセスユニットの中から入力値の大きなものから順
に、且つ、ラインと配置場所が重複しないよう6個を選
び出す。尚、図11においては特に入力値は図示しては
いないが、上記のようにして6個のプロセスユニットを
選び出した結果、図12に示すようにライン1が配置場
所1に、ライン2が配置場所3に、ライン3が配置場所
2に、ライン4が配置場所6に、ライン5が配置場所5
に、ライン6が配置場所4にそれぞれ配置されるものと
する。
【0096】その後、各ネットはレフトエッヂファース
ト法と呼ばれる方法で、各トラックに設置される。当該
レフトエッヂファースト法は、与えられたラインの配置
に対し、最も少ないトラック数でネットを設置する方法
を提供するものである。
【0097】図12は、図11に示すように選択され、
上記レフトエッヂファースト法により設置されたライ
ン、ネットの配置を示す図である。同図において、各黒
点は図10の各トランジスタ20を示す。
【0098】ライン1〜6は、上記した配置場所に配置
されるので、上記レフトエッヂファースト法により、ネ
ットA〜Gは図12に示すように配置される。したがっ
て、同図より明らかなように、実際の配置による値とし
てのトラック数は5である。
【0099】第2の実施例においても、入力値の変化量
を実際の配置による値のみを変数として用いて各プロセ
スユニットの入力値を変更する。例えば、時間tにおい
て各ラインが図12に示されるようになっていたとする
と、上記のようにトラック数は5であるので、実際の配
置による値は5である。
【0100】ここで、仮に目的値Qを2とすると、1行
1列番目、2行3列番目、3行2列番目、4行6列番
目、5行5列番目、6行4列番目の6個のプロセスユニ
ットの入力値は時間t+1において、Q−R、即ち一3
変化する。
【0101】さらに、上記選択した1行1列番目、2行
3列番目、3行2列番目、4行6列番目、5行5列番
目、6行4列番目の6個のプロセスユニット以外のプロ
セスユニットの入力値の更新量を以下のようにして決定
する。
【0102】ここで、図13、図14は 5行4列番目
のプロセスユニットの入力値を決定する方法を示す概念
図(その1)、(その2)である。上記選択した6個の
プロセスユニット以外のプロセスユニットの入力値を更
新する方法であって、例えば、図13及び14に示すよ
うに5行4列番目のプロセスユニットの入力値を決定す
る際、当該プロセスユニットの示すライン5を同じく当
該プロセスユニットの示す配置場所4に一時的に配置す
る。
【0103】ここで、6行5列番目のプロセスユニット
はライン6及び配置場所5に対応するプロセスユニット
である。この時、配置場所4に配置されているライン6
を当該ライン5が配置されていた配置場所5に一時的に
配置する。これにより、Rが簡単に計算でき、6を得
る。
【0104】したがって、上記目的値Qは2なので、上
記プロセスユニットの入力値は−4変化する。その後、
ライン5及び6は元の配置場所に戻される。これと同様
の方法で、残りのプロセスユニットの入力値を変化させ
る。
【0105】6行5列番目のプロセスユニットの入力値
の変化は5行4列番目のプロセスユニットの入力値の変
化を等しくなる。したがって、どちらかを計算すればよ
い。続いて、時間t+1において、上記のようにして入
力値を変化させた6×6個のプロセスユニットの中か
ら、入力値の大きなものから順に、且つ、ラインと配置
場所が重複しないよう6個を選び出し、上記時間tにお
ける過程と同様な過程を実行する。このような過程を繰
り返すうちにトラック数を減少させることができる。
【0106】但し、ここで言う減少とは、常に減少して
いくものとは限らない。一時的にではあるが増加するこ
ともあり得る。そして、上記過程を繰り返すうちに、上
記入力値の更新量が0以上となった場合に、その時の解
を保存して、計算を終了する。
【0107】尚、本発明において、目的値Qの値は、今
まで得られているQ値よりも、例えばより良いQ値を設
定する。例えば、TSP(Traveling Salesman Proble
m) では、今まで総距離として1500m必要とするた
めの最適巡回経路が見つかっているとすれば、Q値を仮
に1400mとして本発明を適用して計算すれば良い。
【0108】本実施例におけるラインは、プリント板上
の配線、集積回路の配線、プラントの配線等でもよい。
さらに、本発明は最適日程計画、最適工程計画にも用い
ることができる。
【0109】
【発明の効果】以上述べたように、N個の被配置物をN
個の場所に配置し、目的値を得るまたは目的とする値を
最小或いは最大とする最適配置方法において、N個の被
配置物をN個の場所に配置することが必要条件である
が、従来のホップフィールドモデル等のニューラルネッ
トワークによる方法では、常に当該必要条件が満たされ
ることを保証できなかった。
【0110】しかし、本発明によれば当該必要条件が満
たされることを保証することができる。これにより、従
来のホップフィールドモデル等のニューラルネットワー
クによる方法と比較し、短時間で、且つ、最適配置或い
は最適配置に近い配置を得ることができる。
【0111】一方、従来のシミュレーティッドアニーリ
ング又は進化的プログラミング或は遺伝的アルゴリズム
による方法では、比較的容易に常に当該必要条件が満さ
れることを保証することができるが、その場合直接配置
を変化させることになる。
【0112】しかし、本発明によれば、各プロセスユニ
ットの入力値を変化させ配置を変化させているので、直
接配置を変化させる方法と比較し、最適配置以外の或い
は最適配置から遠い配置に収束することを防止すること
もできる。
【0113】更に、シミュレーティッドアニーリング又
は進化的プログラミング或いは遺的アルゴリズムによる
方法では、結局多くのパラメーターが必要となる。ま
た、ニューラルネットワークでは上記必要条件が常に満
たされることを保できないために、プロセスユニット
に相当するニューロンの入力値の変化量を決める際、実
際の配置による値を一義的に決定できない。
【0114】本発明では、プロセスユニットの入力値の
変化を、実際の配置による値のみ変数として用いて上記
入力値を変更することにより、変化量の計算を簡略化で
き、数学的にも最適配置の或いは最適配置から近い配置
に収束することを保証できる。
【0115】したがって、従来の方法に比較し、短時間
で、且つ、最適配置或いは最適配置に近い配置を得るこ
とができる。また、更に、本発明ではプロセスユニット
の入力値の変化量を計算する方法を一義的に決めること
ができる。さらに、この方法を用いることにより、被配
物i及びjの実際の配置場所をそれぞれP(i)及びP(j)と
すると、
【0116】
【数15】
【0117】となり、計算量が約半分になり、計算スピ
ードをおよそ倍にすることができる。尚、本発明の効果
は、実際のシミュレーション等により確かめられてい
る。上記シミュレーションでは、本発明の方法により得
られた解が、従来の方法より良い解を得ることができる
ことが確かめられている。
【図面の簡単な説明】
【図1】本発明の原理ブロック図である。
【図2】本発明のニューラルネットワークの概念図であ
る。
【図3】本発明の最適配置を得るための計算方法を示す
フローチャートである。
【図4】5行5列のアレイの概念図である。
【図5】5×5個のプロセスユニットの入力値を示す説
明図である。
【図6】(a)、(b)、(c)、(d)は本発明にお
けるプロセスユニットの出力方法を示す図である。
【図7】5個の場所に配置された5個の資源を示す説明
図である。
【図8】資源間の負荷と距離を示す説明図である。
【図9】2行1列番目のプロセスユニットの入力値を決
定する方法を示す概念図である。
【図10】NMOS NOR回路によるPLAの構成を
示す図である。
【図11】図10に対応して6行6列のアレイに配置さ
れた6×6個のプロセスユニットの概念図である。
【図12】図11に示すように選択され、上記レフトエ
ッヂファースト法により設置されたライン、ネットの配
置を示す図である。
【図13】5行4列番目のプロセスユニットの入力値を
決定する方法を示す概念図(その1)である。
【図14】5行4列番目のプロセスユニットの入力値を
決定する方法を示す概念図(その2)である。
【図15】従来のホップフィールド型ニューラルネット
ワークの概念図である。
【符号の説明】
10 プロセスユニット群 20 トランジスタ 30 プロセスユニット

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 N個の被配置物についてのN個の配置場
    所を示すN×N個のプロセスユニットよりなるニューラ
    ルネットワークにおいて、 上記プロセスユニットのなかから入力値の大きなものか
    ら順に、且つ、被配置物と配置場所が重複しないように
    N個を選び出し、 上記選択したプロセスユニットの入力値を変化させ、 目的値を得るあるいは目的とする値を最大または最小に
    することを特徴とする最適配置方法。
  2. 【請求項2】 前記選択した各プロセスユニットの示す
    被配置物の配置により得られた値のみを変数として各プ
    ロセスユニットの入力値の変化量を決定して、前記入力
    値を変化させることを特徴とする請求項1記載の最適配
    置方法。
  3. 【請求項3】 前記選択したN個のプロセスユニットに
    対し、あるプロセスユニットが示す被配置物の配置場所
    と他のプロセスユニットが示す被配置物の配置場所とを
    互いに交換させることにより、前記選択したN個のプロ
    セスユニット以外のプロセスユニットの入力値の変化量
    を決定することを特徴とする請求項2記載の最適配置方
    法。
  4. 【請求項4】 N個の被配置物についてのN個の配置場
    所を示すN×N個のプロセスユニットよりなるニューラ
    ルネットワークにおいて、 上記プロセスユニットの入力値の大きなものから順に、
    且つ、被配置物と配置場所が重複しないようにN個を選
    び出す非重複選出手段と、 上記選択したプロセスユニットの入力値を変化させる入
    力値更新手段とを有し、 目的値を得るあるいは目的とする値を最大または最小に
    することを特徴とする最適配置装置。
  5. 【請求項5】 前記入力値更新手段は、前記選択したN
    個のプロセスユニットの示す被配置物の配置により得ら
    れた値のみを変数として各プロセスユニットの入力値の
    変化量を決定して前記入力値を変化させることを特徴と
    する請求項4記載の最適配置装置。
  6. 【請求項6】 前記選択したN個のプロセスユニットに
    対し、あるプロセスユニットが示す被配置物の配置場所
    と他のプロセスユニットが示す被配置物の配置場所とを
    互いに交換させる配置交換手段を更に有し、 前記選択したN個のプロセスユニット以外のプロセスユ
    ニットの入力値の変化量を決定することを特徴とする請
    求項5記載の最適配置装置。
  7. 【請求項7】 N個の被配置物についてのN個の配置場
    所を示すN行N列のプロセスユニットよりなるニューラ
    ルネットワークにおいて、 前記各プロセスユニットのうち入力値の大きなものから
    順に且つ被配置物と配置場所が重複しないようにしてN
    個のプロセスユニットを選択し、 該選択による実際の配置による値を計算し、 該計算した値と目的値とから上記選択したN個のプロセ
    スユニットの入力値の更新量を求めて入力値を変化さ
    せ、 上記一連の過程を繰り返すことにより前記実際の配置に
    よる値を前記目的値に近づけることで最適解を得ること
    を特徴とする最適配置方法。
  8. 【請求項8】 N行N列のプロセスユニットよりなるニ
    ューラルネットワークにおいて、 上記各プロセスユニットの出力が各プロセスユニットの
    行、列にある他のプロセスユニットの出力に影響するよ
    うにようにして互いに相互作用を及ぼしながらネットワ
    ークの出力を決定するプロセスユニット群、 を有することを特徴とするニューラルネットワーク装
    置。
  9. 【請求項9】 行列のなかの最大入力値を選択し、 次に最大入力値が存在するi行j列を除いて前記選択の
    処理を繰り返し実行し、 これによって各行列に1が1つだけ存在する行列を形成
    し、 この情報に基づいてコスト値を示すR値を計算し、 目的値とR値との差を前記最大入力値から差し引いて新
    しい入力状態が得られると、前記一連の処理を目的値に
    R値が収束するまで繰り返すことを特徴とする最適配置
    方法。
JP7285490A 1995-11-02 1995-11-02 最適配置方法及びその装置 Pending JPH09128362A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7285490A JPH09128362A (ja) 1995-11-02 1995-11-02 最適配置方法及びその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7285490A JPH09128362A (ja) 1995-11-02 1995-11-02 最適配置方法及びその装置

Publications (1)

Publication Number Publication Date
JPH09128362A true JPH09128362A (ja) 1997-05-16

Family

ID=17692204

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7285490A Pending JPH09128362A (ja) 1995-11-02 1995-11-02 最適配置方法及びその装置

Country Status (1)

Country Link
JP (1) JPH09128362A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9639073B2 (en) 2012-04-26 2017-05-02 International Business Machines Corporation Information processing apparatus for discriminating between combined results of plurality of elements, program product and method for same
WO2020009024A1 (ja) * 2018-07-02 2020-01-09 株式会社 Preferred Networks 情報処理装置、モデル生成処理装置、および情報処理方法
KR20230087890A (ko) * 2021-12-10 2023-06-19 주식회사 에이직랜드 열원분포이미지 기반의 집적회로 레이아웃 최적화 시스템 및 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9639073B2 (en) 2012-04-26 2017-05-02 International Business Machines Corporation Information processing apparatus for discriminating between combined results of plurality of elements, program product and method for same
WO2020009024A1 (ja) * 2018-07-02 2020-01-09 株式会社 Preferred Networks 情報処理装置、モデル生成処理装置、および情報処理方法
US12154031B2 (en) 2018-07-02 2024-11-26 Preferred Networks, Inc. Information processing system, model generation processing system, and information processing method
KR20230087890A (ko) * 2021-12-10 2023-06-19 주식회사 에이직랜드 열원분포이미지 기반의 집적회로 레이아웃 최적화 시스템 및 방법

Similar Documents

Publication Publication Date Title
Saka et al. Metaheuristics in structural optimization and discussions on harmony search algorithm
Pirlot General local search heuristics in combinatorial optimization: a tutorial
Thirumalainambi et al. Training data requirement for a neural network to predict aerodynamic coefficients
Smith et al. Traditional heuristic versus Hopfield neural network approaches to a car sequencing problem
CN119312760B (zh) 一种多智能体联合布局模型训练方法、装置、设备及介质
Dhahri et al. Hierarchical multi-dimensional differential evolution for the design of beta basis function neural network
CN117908542A (zh) 一种基于物流仓储环境的多智能体路径规划方法及系统
CN114143882B (zh) 基于强化组织控制的多智体系统自组织方法及系统
CN113298315A (zh) 一种基于双层编码的电动汽车充电站选址优化方法
CN114676640B (zh) 基于遗传算法和maddpg算法的楼栋排布方法
JPH09128362A (ja) 最適配置方法及びその装置
CN119646507A (zh) 模型训练方法、路径规划方法及相关装置
JP2002288625A (ja) 多目的最適化方法、プログラムおよびプラン立案装置
CN117579500B (zh) 一种网络流量预测方法、装置、设备及介质
CN118068709A (zh) 一种振动系统的轻量化振动控制方法
CN117669466A (zh) 一种混合强化学习和遗传算法的正交多边形宏模块布局规划方法
CN113627646B (zh) 一种基于神经网络的路径规划方法、装置、设备及介质
Cheung Scheduling
JPH05342189A (ja) ネットワーク型情報処理装置の学習システム
CN115235476A (zh) 一种全覆盖路径规划方法、装置、存储介质、电子设备
Yousefizadeh et al. Neural network architectures
Kusari Assessing and accelerating coverage in deep reinforcement learning
CN119537255B (zh) 基于多策略灰狼鲸鱼算法的测试用例优先级排序方法
CN115099615B (zh) 一种多智能体系统的协同调度方法
CN120947653B (zh) 一种机器人社会自适应导航知识学习与迁移方法及系统

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040120