JP4032070B2 - Circuit layout optimization problem processing method and circuit layout optimization problem processing program recording computer-readable recording medium - Google Patents
Circuit layout optimization problem processing method and circuit layout optimization problem processing program recording computer-readable recording medium Download PDFInfo
- Publication number
- JP4032070B2 JP4032070B2 JP2006268964A JP2006268964A JP4032070B2 JP 4032070 B2 JP4032070 B2 JP 4032070B2 JP 2006268964 A JP2006268964 A JP 2006268964A JP 2006268964 A JP2006268964 A JP 2006268964A JP 4032070 B2 JP4032070 B2 JP 4032070B2
- Authority
- JP
- Japan
- Prior art keywords
- algorithm
- chromosome
- elements
- arrangement
- optimization problem
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
本発明は、例えば大規模集積回路(LSI;large scale integration)上の各回路を最適な状態で配置する回路配置最適化問題、より一般的には、2次元以上の空間に複数の要素(配置要素)を最適な状態で配置する要素配置最適化問題を処理する際に用いて好適な、回路配置最適化問題処理方法及び回路配置最適化問題処理プログラムを記録したコンピュータ読み取り可能な記録媒体に関する。 The present invention relates to a circuit layout optimization problem in which, for example, each circuit on a large scale integration circuit (LSI; large scale integration) is optimally arranged. More generally, a plurality of elements (arrangements) are arranged in a two-dimensional space or more. The present invention relates to a circuit arrangement optimization problem processing method and a computer-readable recording medium recording a circuit arrangement optimization problem processing program suitable for use in processing an element arrangement optimization problem for arranging elements in an optimal state.
要素配置最適化問題は、具体的には、接続関係が規定された複数の要素を所要の空間(要素が2次元のものである場合には、所要の領域)に最適な状態で配置する問題であり、グラフマッピング問題と言われるものである。
例えば、前述したLSIにおいて、LSI上の各回路の最適配置を求めることができれば、LSIの小型化を図ることができるほか、当該各回路を接続する配線の長さを最小化して配線性を向上させることができるので、LSIにおける処理の高速化を図ることもできる。
Specifically, the element placement optimization problem is a problem in which a plurality of elements for which connection relationships are defined are optimally placed in a required space (or a required area if the elements are two-dimensional). It is called the graph mapping problem.
For example, in the above-described LSI, if the optimum arrangement of each circuit on the LSI can be obtained, the LSI can be reduced in size, and the wiring property connecting the respective circuits can be minimized to improve the wiring performance. Therefore, the processing speed in the LSI can be increased.
要素配置最適化問題は、最適化問題解決アルゴリズム(例えば遺伝的アルゴリズム,ミンカット法,n要素交換法等)を実行して、複数の要素の上記空間における最適配置を決定し、その決定に基づいて複数の要素を上記空間に配置することにより処理することができる。
ここで、要素配置最適化問題の規模が大きいとき(即ち、最適配置を求めるべき要素数が非常に多いとき)には、最適化問題解決アルゴリズムを高速に実行できるようにするために、各要素の大きさを考慮することなく、各要素を点(又は同一形状)とみなして要素の最適配置を決定していた。
The element arrangement optimization problem is performed by executing an optimization problem solving algorithm (eg, genetic algorithm, min-cut method, n-element exchange method, etc.) to determine the optimum arrangement of a plurality of elements in the space, and based on the determination. A plurality of elements can be processed by placing them in the space.
Here, when the size of the element placement optimization problem is large (that is, when the number of elements for which the optimum placement is to be obtained is very large), each element is used to enable the optimization problem solving algorithm to be executed at high speed. Without considering the size of each element, each element is regarded as a point (or the same shape) to determine the optimum arrangement of the elements.
しかしながら、要素はそれぞれ固有の大きさをもっているため、このようにして決定された最適配置に基づいて要素を配置しても、要素同士が重なったり要素間に隙間が生じたりして、要素の配置に疎密が生じることがあるという課題がある。
従って、問題規模の大きい要素配置最適化問題を高速に処理するためには、各要素の大きさを考慮しないで最適化問題解決アルゴリズムを実行し、その結果生じた要素の配置の疎密を解消する必要がある。
However, since each element has a unique size, even if the elements are arranged based on the optimum arrangement determined in this way, the elements may overlap with each other or a gap may be generated between the elements. There is a problem that sparseness and density may occur.
Therefore, in order to process an element placement optimization problem with a large problem scale at high speed, the optimization problem solving algorithm is executed without considering the size of each element, and the resulting element arrangement is eliminated. There is a need.
本発明は、このような課題に鑑み創案されたもので、要素の配置に生じた疎密を解消して要素を上記空間に均一に配置できるようにして、問題規模の大きい要素配置最適化問題を高速に処理できるようにした、回路配置最適化問題処理方法を提供することを目的とするとともに、更には、要素配置最適化問題を処理すべくコンピュータを動作させるための回路配置最適化問題処理プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。 The present invention has been devised in view of such problems, so that the element arrangement optimization problem with a large problem scale can be solved by eliminating the sparseness and density caused in the arrangement of elements so that the elements can be arranged uniformly in the space. A circuit layout optimization problem processing program for operating a computer to process an element layout optimization problem, and to provide a circuit layout optimization problem processing method capable of high-speed processing It is an object of the present invention to provide a computer-readable recording medium on which is recorded.
このため、本発明の回路配置最適化問題処理方法は、接続関係が規定された複数の要素を所要の空間に配置するに際し、CPUをそなえたコンピュータを用いて、該接続関係を維持しながら初期配置状態にある上記複数の要素の疎密を解消するための回路配置最適化問題処理方法であって、上記の初期配置状態にある複数の要素に関する情報を配置結果として該コンピュータに入力する入力ステップと、該入力ステップにて入力された該配置結果に対して、該空間を分割したものとして構成され且つそれぞれに複数の要素を含む部分空間を遺伝子として表現し、当該遺伝子の配列からなり該配置結果に相当する染色体を複数用意して、これらの染色体を用いるとともに、複数の要素の疎密を小さくできるような染色体が大きな適応度値をとる適応度関数を用いた遺伝的アルゴリズムを該CPUで実行することにより、最高の適応度値をもつ染色体を最適な染色体として取得する第1アルゴリズム実行ステップと、該第1アルゴリズム実行ステップの実行中に生成される複数の染色体のそれぞれに対して、該遺伝的アルゴリズムで用いられる各染色体の部分空間毎に、当該部分空間内に含まれる複数の要素のうちの少なくとも一つの要素を要素密度が高い場所から要素密度が低い場所へと移動させる局所的疎密解消アルゴリズムを該CPUで実行する第2アルゴリズム実行ステップとをそなえ、該第1アルゴリズム実行ステップにおける該遺伝的アルゴリズムおよび該第2アルゴリズム実行ステップにおける該局所的疎密解消アルゴリズムが、上記最適な染色体の適応度値が基準値以上になるまで繰り返し実行され、該第1アルゴリズム実行ステップが、適応度値が該基準値以上である最適な染色体を、該接続関係を維持しながら上記の初期配置状態にある複数の要素の疎密を解消した解として出力することを特徴としている(請求項1)。 For this reason, the circuit layout optimization problem processing method of the present invention uses a computer equipped with a CPU to maintain the connection relationship when arranging a plurality of elements for which a connection relationship is defined in a required space. A circuit layout optimization problem processing method for eliminating the density of the plurality of elements in an arrangement state, wherein an input step for inputting information on the plurality of elements in the initial arrangement state to the computer as an arrangement result; The arrangement result input in the input step is configured by dividing the space, and a partial space including a plurality of elements is expressed as a gene, and the arrangement result includes the arrangement of the gene. Prepare multiple chromosomes corresponding to, use these chromosomes, and chromosomes that can reduce the density of multiple elements have a large fitness value Genetic algorithm using応度function by executing in the CPU, and the first algorithm execution step of obtaining the chromosome with the highest fitness value as the best chromosome, while the execution of the first algorithm executing step For each of a plurality of generated chromosomes, for each subspace of each chromosome used in the genetic algorithm, at least one of the plurality of elements included in the subspace is a place where the element density is high local density rid algorithm includes a second algorithm executing step you run in the CPU, said genetic algorithm and the second algorithm executing step in the first algorithm executing step of moving to the element density is low location from In the local sparse / dense elimination algorithm, the optimal chromosome fitness value is less than the reference value. The first algorithm execution step is performed to determine the optimal chromosome having a fitness value equal to or higher than the reference value, and to reduce the density of the plurality of elements in the initial arrangement state while maintaining the connection relationship. The solution is output as a solved solution (claim 1).
このとき、該第1アルゴリズム実行ステップは、該遺伝的アルゴリズムを実行する際に、該染色体における上記複数の部分空間の中から選択された少なくとも一つの部分空間を、他の染色体における当該部分空間に対応する部分空間と交換することにより、遺伝オペレーションとしての交叉を実行することができる(請求項2)。 At this time, the first algorithm executing step, when performing said genetic algorithm, at least one of the subspaces is selected from the plurality of partial spaces in said chromosome, the partial space in other chromosomes Crossover as a genetic operation can be executed by exchanging with the subspace corresponding to (Claim 2 ).
また、該第1アルゴリズム実行ステップは、該遺伝的アルゴリズムを実行する際に、該染色体における上記複数の部分空間の中の特定の部分空間の方が、他の染色体における当該部分空間に対応する部分空間よりも疎密が解消されている場合には、該染色体における当該部分空間を該他の染色体における当該部分空間に対応する部分空間に張り付けることにより、遺伝オペレーションとしての交叉を実行してもよい(請求項3)。 Moreover, the first algorithm executing step, when performing said genetic algorithm, towards a particular subspace of among the plurality of partial spaces in said chromosome, corresponding to the subspace of other chromosomes portion If the density is eliminated than space by pasting the partial space corresponding to the partial space in the chromosome to the subspace said other chromosomes may perform crossover as genetic operations (Claim 3 ).
さらに、該第1アルゴリズム実行ステップは、該遺伝的アルゴリズムを実行する際に、上記複数の部分空間の中の少なくとも一つの部分空間内において上記複数の要素のうちの少なくとも一つの要素を移動させることにより、遺伝オペレーションとしての突然変異を実行することができる(請求項4)。 Moreover, the first algorithm executing step, when performing said genetic algorithm, moving at least one element of the plurality of elements in at least one subspace in the upper Symbol plurality of subspaces Thus, mutation as a genetic operation can be performed (claim 4 ).
ここで、該第2アルゴリズム実行ステップは、該局所的疎密解消アルゴリズムとして、該部分空間内における要素の移動を流体の動きとしてとらえ、該部分空間内で要素密度が均一になるように、該流体の粘性を考慮して上記の部分空間内における要素を移動させる流体力学のアナロジーが適用されたアルゴリズムを用いることができる(請求項5)。 Here, the second algorithm executing step, as the topical manner compressional solve algorithm, the movement of the element that put the partial space regarded as the motion of the fluid, so that the element density is uniform partial space can be in consideration of the viscosity of the fluid using an algorithm analogy is applied hydrodynamic moving elements in the partial space (claim 5).
ここで、該第2アルゴリズム実行ステップは、複数の要素間の近傍性を保存しながら、上記の部分空間内に含まれる複数の要素のうちの少なくとも一つの要素を移動させることができる(請求項6)。 In here, the second algorithm execution step can be moved while preserving the vicinity among multiple elements, at least one element of the plurality of elements included in the partial space ( Claim 6 ).
また、該第2アルゴリズム実行ステップは、複数の要素間の順序性を保存しながら、上記の部分空間内に含まれる複数の要素のうちの少なくとも一つの要素を移動させることをもできる(請求項7)。 Further, the second algorithm executing step, while preserving the order among multiple components, can also be moved at least one element of the plurality of elements included in the partial space (according Item 7 ).
具体的には、該第2アルゴリズム実行ステップは、該局所的疎密解消アルゴリズムとして、該部分空間内における要素の移動をモーフィングにおける変形動作としてとらえ、該部分空間毎に、上記の初期配置状態にある複数の要素に関する情報に基づいてモーフィング中心部を決定し、上記の部分空間内に含まれる複数の要素のうちの少なくとも一つの要素を該モーフィング中心部から離隔した場所へと移動させるモーフィングのアナロジーが適用されたアルゴリズムを実行することができる(請求項8)。 Specifically, the second algorithm executing step, as the topical manner compressional solve algorithm, regarded as a modification operation in the morphing movement of elements that put the partial space, each partial space, said initial placement determine the morphing center on the basis of the state near Ru information about multiple elements, move at least one element of the plurality of elements included in the partial space to a location spaced from said morphing center It is possible to execute an algorithm to which the analogy of morphing to be applied is applied (claim 8 ).
ここで、該第2アルゴリズム実行ステップは、上記の部分空間内に含まれる複数の要素の少なくとも一つの要素を該モーフィング中心部から離隔した場所へと移動させる際に、該モーフィング中心部から移動対象となる要素までの距離を線形的に拡大することができる(請求項9)。
また、該第2アルゴリズム実行ステップは、上記の部分空間内に含まれる複数の要素の少なくとも一つの要素を該モーフィング中心部から離隔した場所へと移動させる際に、該モーフィング中心部から移動対象となる要素までの距離を非線形的に拡大することもできる(請求項10)。
Here, in the second algorithm execution step, when moving at least one element of the plurality of elements included in the subspace to a place separated from the morphing center, the second algorithm execution step moves from the morphing center. The distance to the element to be can be linearly expanded (claim 9 ).
In the second algorithm execution step, when moving at least one element of the plurality of elements included in the partial space to a place separated from the morphing center, the second algorithm is executed from the morphing center. the distance until the element can be expanded nonlinearly (0 claim 1).
また、本発明の回路配置最適化問題処理方法は、接続関係が規定された複数の要素を所要の空間に配置するに際し、CPUをそなえたコンピュータを用いて、該接続関係を維持しながら初期配置状態にある上記複数の要素の疎密を解消するための回路配置最適化問題処理方法であって、上記の初期配置状態にある複数の要素に関する情報を配置結果として該コンピュータに入力する入力ステップと、該入力ステップにて入力された該配置結果に対して、該空間を分割したものとして構成される複数の部分空間のそれぞれの幅を第1の遺伝子として表現し、当該第1の遺伝子の配列からなる第1の染色体を複数用意して、これらの第1の染色体を用いるとともに、複数の要素の疎密を小さくできるような染色体が大きな適応度値をとる適応度関数を用いた第1遺伝的アルゴリズムを該CPUで実行する第1ステップと、該第1ステップの実行中に生成される複数の第1の染色体に対応する複数の空間のそれぞれに対して、上記第1の染色体に応じた部分空間の幅でこの空間を分割したものとして構成され且つそれぞれに複数の要素を含む部分空間を第2の遺伝子として表現し、当該第2の遺伝子の配列からなり該配置結果に相当する第2の染色体を複数用意して、これらの第2の染色体を用いるとともに、該適応度関数を用いた第2遺伝的アルゴリズムを、予め定められた世代数を超えるまで繰り返し該CPUで実行することにより、最高の適応度値をもつ第2の染色体を中間染色体として、上記複数の第1の染色体のそれぞれに対応して複数取得する第2ステップと、該第2ステップの実行中に生成される複数の第2の染色体のそれぞれに対して、該第2遺伝的アルゴリズムで用いられる各第2の染色体の該部分空間毎に、当該部分空間内に含まれる複数の要素のうちの少なくとも一つの要素を要素密度が高い場所から要素密度が低い場所へと移動させる局所的疎密解消アルゴリズムを該CPUで実行する第3ステップとをそなえ、該第1ステップが、該第2ステップにて取得した上記複数の中間染色体のそれぞれの適応度値に基づいて、上記複数の中間染色体から最高の適応度値をもつ中間染色体を最適な染色体として取得し、該第1ステップにおける該第1遺伝的アルゴリズム,該第2ステップにおける該第2遺伝的アルゴリズムおよび該第3ステップにおける該局所的疎密解消アルゴリズムが、上記最適な染色体の適応度値が基準値以上になるまで繰り返し実行され、該第1ステップが、適応度値が該基準値以上である最適な染色体を、該接続関係を維持しながら上記の初期配置状態にある複数の要素の疎密を解消した解として出力することを特徴としている(請求項11)。
Also, the circuit layout optimization problem processing method of the present invention uses a computer equipped with a CPU to maintain an initial layout while arranging a plurality of elements for which connection relationships are defined in a required space. A circuit layout optimization problem processing method for eliminating the density of the plurality of elements in a state, an input step for inputting information on the plurality of elements in the initial placement state to the computer as a placement result; with respect to the arrangement results input at said input step, the width of each of the plurality of subspaces to the space Ru are configured as obtained by dividing expressed as a first gene, said first gene a first chromosome consisting of SEQ Make several, fitness function which Rutotomoni using these first chromosome, chromosome that can reduce the density of a plurality of elements it takes a large fitness value The first genetic algorithm for each of the plurality of space corresponding to the plurality of first chromosome that is generated during the execution of the first steps, the first step to run by the CPU using the above the subspace containing a plurality of elements configured and each as obtained by dividing the space in the width of the first partial space corresponding to the chromosomes and expressed as a second gene, Ri Do from the second gene of SEQ a second chromosome corresponding to the arrangement results preparing a plurality Rutotomoni using these second chromosome, the second genetic algorithm using said fitness function, to greater than the number of generations predetermined by executing a repeating the CPU, the second chromosome with the highest fitness value as an intermediate chromosome, a second step of multiple acquired in correspondence with each of said plurality of first chromosome second step For each of the plurality of second chromosome that is generated during the execution of, for each subspace of the second chromosome used in the second genetic algorithm, multiple which is Ru contained in the subspace And a third step of executing, on the CPU, a local sparse / dense cancellation algorithm for moving at least one of the elements from a location where the element density is high to a location where the element density is low , the first step comprising: Based on the fitness values of the plurality of intermediate chromosomes acquired in the second step, the intermediate chromosome having the highest fitness value is acquired as the optimal chromosome from the plurality of intermediate chromosomes, The first genetic algorithm, the second genetic algorithm in the second step, and the local sparse / dense elimination algorithm in the third step are adapted to optimize the optimal chromosome. It is repeatedly executed until the fitness value becomes equal to or higher than the reference value, and the first step is performed for a plurality of optimal chromosomes whose fitness values are equal to or higher than the reference value in the initial arrangement state while maintaining the connection relationship. It is characterized in that it is output as a solution in which the density of the elements is eliminated (
さらに、本発明の回路配置最適化問題処理方法は、接続関係が規定された複数の要素を所要の空間に配置するに際し、CPUをそなえたコンピュータを用いて、該接続関係を維持しながら初期配置状態にある上記複数の要素の疎密を解消するための回路配置最適化問題処理方法であって、上記の初期配置状態にある複数の要素に関する情報を配置結果として該コンピュータに入力する入力ステップと、該入力ステップにて入力された該配置結果に対して、該空間を分割したものとして構成される複数の部分空間のそれぞれの幅を第1の遺伝子として表現し、当該第1の遺伝子の配列からなる第1の染色体を複数用意して、これらの第1の染色体を用いるとともに、複数の要素の疎密を小さくできるような染色体が大きな適応度値をとる適応度関数を用いた第1遺伝的アルゴリズムを該CPUで実行する第1ステップと、該第1ステップの実行中に生成される複数の第1の染色体に対応する複数の空間のそれぞれに対して、該第1の染色体に応じた部分空間の幅でこの空間を複数の部分空間に分割した後に、該部分空間毎に、当該部分空間内に含まれる複数の要素のうちの少なくとも一つの要素を要素密度が高い場所から要素密度が低い場所へと移動させる局所的疎密解消アルゴリズムを該CPUで実行することにより、複数の第1の染色体に対応する複数の中間配置結果を取得し、上記複数の中間配置結果のそれぞれの適応度値を該CPUで算出する第2ステップと、該空間を該第1の染色体に応じた部分空間の幅で分割したものとして構成され且つそれぞれに複数の要素を含む部分空間を第2の遺伝子として表現し、当該第2の遺伝子の配列からなり該配置結果に相当する第2の染色体を複数用意して、これらの第2の染色体を用いるとともに、該適応度関数を用いた第2遺伝的アルゴリズムを該CPUで実行することにより、最高の適応度値をもつ第2の染色体を最適な染色体として取得する第3ステップとをそなえ、該第1ステップが、該第2ステップにて算出された適応度値に基づいて、上記複数の中間配置結果から最高の適応度値をもつ中間配置結果を最適な配置結果として取得し、該第1ステップにおける該第1遺伝的アルゴリズムおよび該第2ステップにおける該局所的疎密解消アルゴリズムが、該第1遺伝的アルゴリズムにおいて予め定められた世代数を超えるまで繰り返し実行され、該第3ステップが、該第1ステップにおける該第1遺伝的アルゴリズムおよび該第2ステップにおける該局所的疎密解消アルゴリズムが繰り返し実行されることにより取得した上記最適な配置結果に対して、上記最適な染色体の適応度値が基準値以上になるまで該第2遺伝的アルゴリズムを繰り返し実行し、適応度値が該基準値以上である最適な染色体を、該接続関係を維持しながら上記の初期配置状態にある複数の要素の疎密を解消した解として出力することを特徴としている(請求項12)。
Further, according to the circuit layout optimization problem processing method of the present invention, when a plurality of elements for which connection relations are defined are placed in a required space, an initial placement is performed while maintaining the connection relation using a computer having a CPU A circuit layout optimization problem processing method for eliminating the density of the plurality of elements in a state, an input step for inputting information on the plurality of elements in the initial placement state to the computer as a placement result; with respect to the arrangement results input at said input step, the width of each of the plurality of subspaces to the space Ru are configured as obtained by dividing expressed as a first gene, said first gene a first chromosome consisting of SEQ Make several, adaptability Rutotomoni using these first chromosome, chromosome that can reduce the density of a plurality of elements it takes a large fitness value A first step to run a first genetic algorithm using the number of the CPU, for each of a plurality of space corresponding to the plurality of first chromosome that is generated during the execution of the first step, the space width of the subspaces corresponding to the chromosome of the first after dividing the subspace of multiple, for each subspace, of at least one of the multiple elements that is part on the subspace A plurality of intermediate arrangement results corresponding to a plurality of first chromosomes are acquired by executing a local sparse / dense elimination algorithm for moving an element from a place with a high element density to a place with a low element density , a second step that to calculate the respective fitness values of a plurality of intermediate placement results in the CPU, respectively are constructed and a plurality of the space as divided by the width of the subspace corresponding to the chromosome of the first Part containing the element A space is expressed as a second gene, a plurality of second chromosomes comprising the sequence of the second gene and corresponding to the arrangement result are prepared, the second chromosome is used, and the fitness function is And executing the second genetic algorithm used by the CPU to obtain the second chromosome having the highest fitness value as the optimal chromosome , and the first step comprises the second step. Based on the fitness value calculated in the step, the intermediate placement result having the highest fitness value is obtained as the optimum placement result from the plurality of intermediate placement results, and the first genetic algorithm in the first step And the local sparse / dense elimination algorithm in the second step is repeatedly executed until a predetermined number of generations is exceeded in the first genetic algorithm, and the third step includes: With respect to the optimal placement result obtained by repeatedly executing the first genetic algorithm in the first step and the local sparse / dense elimination algorithm in the second step, the optimal chromosome fitness value is The second genetic algorithm is repeatedly executed until a reference value or higher is reached, and an optimal chromosome having a fitness value equal to or higher than the reference value is selected for a plurality of elements in the initial arrangement state while maintaining the connection relationship. It is characterized by outputting a solution which solves the density (
ところで、本発明の回路配置最適化問題処理プログラムを記録したコンピュータ読み取り可能な記録媒体は、接続関係が規定された複数の要素を所要の空間に配置するに際し、該接続関係を維持しながら初期配置状態にある上記複数の要素の疎密を解消するための回路配置最適化問題を、CPUをそなえたコンピュータにより処理するための回路配置最適化問題処理プログラムを記録したコンピュータ読み取り可能な記録媒体であって、該回路配置最適化問題処理プログラムが、上記の初期配置状態にある複数の要素に関する情報が配置結果として該コンピュータに入力されると、入力された該配置結果に対して、該空間を分割したものとして構成され且つそれぞれに複数の要素を含む部分空間を遺伝子として表現し、当該遺伝子の配列からなり該配置結果に相当する染色体を複数用意して、これらの染色体を用いるとともに、複数の要素の疎密を小さくできるような染色体が大きな適応度値をとる適応度関数を用いた遺伝的アルゴリズムを該CPUで実行することにより、最高の適応度値をもつ染色体を最適な染色体として取得する第1アルゴリズム実行手段、及び、該第1アルゴリズム実行手段の実行中に生成される複数の染色体のそれぞれに対して、該遺伝的アルゴリズムで用いられる各染色体の部分空間毎に、当該部分空間内に含まれる複数の要素のうちの少なくとも一つの要素を要素密度が高い場所から要素密度が低い場所へと移動させる局所的疎密解消アルゴリズムを該CPUで実行する第2アルゴリズム実行手段として該コンピュータを機能させるとともに、該第1アルゴリズム実行手段における該遺伝的アルゴリズムおよび該第2アルゴリズム実行手段における該局所的疎密解消アルゴリズムが、上記最適な染色体の適応度値が基準値以上になるまで繰り返し実行され、該第1アルゴリズム実行手段が、適応度値が該基準値以上である最適な染色体を、該接続関係を維持しながら上記の初期配置状態にある複数の要素の疎密を解消した解として出力するように該コンピュータを機能させることを特徴としている(請求項13)。
また、本発明の回路配置最適化問題処理プログラムを記録したコンピュータ読み取り可能な記録媒体は、接続関係が規定された複数の要素を所要の空間に配置するに際し、該接続関係を維持しながら初期配置状態にある上記複数の要素の疎密を解消するための回路配置最適化問題を、CPUをそなえたコンピュータにより処理するための回路配置最適化問題処理プログラムを記録したコンピュータ読み取り可能な記録媒体であって、該回路配置最適化問題処理プログラムが、上記の初期配置状態にある複数の要素に関する情報が配置結果として該コンピュータに入力されると、入力された該配置結果に対して、該空間を分割したものとして構成される複数の部分空間のそれぞれの幅を第1の遺伝子として表現し、当該第1の遺伝子の配列からなる第1の染色体を複数用意して、これらの第1の染色体を用いるとともに、複数の要素の疎密を小さくできるような染色体が大きな適応度値をとる適応度関数を用いた第1遺伝的アルゴリズムを該CPUで実行する第1実行手段、該第1実行手段の実行中に生成される複数の第1の染色体に対応する複数の空間のそれぞれに対して、上記第1の染色体に応じた部分空間の幅でこの空間を分割したものとして構成され且つそれぞれに複数の要素を含む部分空間を第2の遺伝子として表現し、当該第2の遺伝子の配列からなり該配置結果に相当する第2の染色体を複数用意して、これらの第2の染色体を用いるとともに、該適応度関数を用いた第2遺伝的アルゴリズムを、予め定められた世代数を超えるまで繰り返し該CPUで実行することにより、最高の適応度値をもつ第2の染色体を中間染色体として、上記複数の第1の染色体のそれぞれに対応して複数取得する第2実行手段、及び、該第2実行手段の実行中に生成される複数の第2の染色体のそれぞれに対して、該第2遺伝的アルゴリズムで用いられる各第2の染色体の該部分空間毎に、当該部分空間内に含まれる複数の要素のうちの少なくとも一つの要素を要素密度が高い場所から要素密度が低い場所へと移動させる局所的疎密解消アルゴリズムを該CPUで実行する第3実行手段として該コンピュータを機能させるとともに、該第1実行手段が、該第2実行手段にて取得した上記複数の中間染色体のそれぞれの適応度値に基づいて、上記複数の中間染色体から最高の適応度値をもつ中間染色体を最適な染色体として取得し、 該第1実行手段における該第1遺伝的アルゴリズム,該第2実行手段における該第2遺伝的アルゴリズムおよび該第3実行手段における該局所的疎密解消アルゴリズムが、上記最適な染色体の適応度値が基準値以上になるまで繰り返し実行され、該第1実行手段が、適応度値が該基準値以上である最適な染色体を、該接続関係を維持しながら上記の初期配置状態にある複数の要素の疎密を解消した解として出力するように該コンピュータを機能させることを特徴としている(請求項14)。
さらに、本発明の回路配置最適化問題処理プログラムを記録したコンピュータ読み取り可能な記録媒体は、接続関係が規定された複数の要素を所要の空間に配置するに際し、該接続関係を維持しながら初期配置状態にある上記複数の要素の疎密を解消するための回路配置最適化問題を、CPUをそなえたコンピュータにより処理するための回路配置最適化問題処理プログラムを記録したコンピュータ読み取り可能な記録媒体であって、該回路配置最適化問題処理プログラムが、上記の初期配置状態にある複数の要素に関する情報が配置結果として該コンピュータに入力されると、入力された該配置結果に対して、該空間を分割したものとして構成される複数の部分空間のそれぞれの幅を第1の遺伝子として表現し、当該第1の遺伝子の配列からなる第1の染色体を複数用意して、これらの第1の染色体を用いるとともに、複数の要素の疎密を小さくできるような染色体が大きな適応度値をとる適応度関数を用いた第1遺伝的アルゴリズムを該CPUで実行する第1実行手段、該第1実行手段の実行中に生成される複数の第1の染色体に対応する複数の空間のそれぞれに対して、該第1の染色体に応じた部分空間の幅でこの空間を複数の部分空間に分割した後に、該部分空間毎に、当該部分空間内に含まれる複数の要素のうちの少なくとも一つの要素を要素密度が高い場所から要素密度が低い場所へと移動させる局所的疎密解消アルゴリズムを該CPUで実行することにより、複数の第1の染色体に対応する複数の中間配置結果を取得し、上記複数の中間配置結果のそれぞれの適応度値を該CPUで算出する第2実行手段、及び、該空間を該第1の染色体に応じた部分空間の幅で分割したものとして構成され且つそれぞれに複数の要素を含む部分空間を第2の遺伝子として表現し、当該第2の遺伝子の配列からなり該配置結果に相当する第2の染色体を複数用意して、これらの第2の染色体を用いるとともに、該適応度関数を用いた第2遺伝的アルゴリズムを該CPUで実行することにより、最高の適応度値をもつ第2の染色体を最適な染色体として取得する第3実行手段として該コンピュータを機能させるとともに、該第1実行手段が、該第2実行手段にて算出された適応度値に基づいて、上記複数の中間配置結果から最高の適応度値をもつ中間配置結果を最適な配置結果として取得し、該第1実行手段における該第1遺伝的アルゴリズムおよび該第2実行手段における該局所的疎密解消アルゴリズムが、該第1遺伝的アルゴリズムにおいて予め定められた世代数を超えるまで繰り返し実行され、該第3実行手段が、該第1実行手段における該第1遺伝的アルゴリズムおよび該第2実行手段における該局所的疎密解消アルゴリズムが繰り返し実行されることにより取得した上記最適な配置結果に対して、上記最適な染色体の適応度値が基準値以上になるまで該第2遺伝的アルゴリズムを繰り返し実行し、適応度値が該基準値以上である最適な染色体を、該接続関係を維持しながら上記の初期配置状態にある複数の要素の疎密を解消した解として出力するように該コンピュータを機能させることを特徴としている(請求項15)。
By the way, the computer-readable recording medium on which the circuit arrangement optimization problem processing program of the present invention is recorded is arranged in the initial arrangement while maintaining the connection relation when arranging a plurality of elements in which the connection relation is defined in a required space. A computer-readable recording medium recording a circuit arrangement optimization problem processing program for processing a circuit arrangement optimization problem for eliminating the density of the plurality of elements in a state by a computer having a CPU. When the information related to the plurality of elements in the initial arrangement state is input to the computer as an arrangement result , the circuit arrangement optimization problem processing program divides the space with respect to the input arrangement result. A partial space that is configured as a thing and includes a plurality of elements each is expressed as a gene, and from the sequence of the gene Chromosome corresponding to Ri該placement result Make several, with use of these chromosomes, the genetic algorithm using the fitness function chromosomes that can reduce the density of a plurality of elements takes a large fitness value A first algorithm executing means for acquiring a chromosome having the highest fitness value as an optimal chromosome by being executed by the CPU , and each of a plurality of chromosomes generated during the execution of the first algorithm executing means ; Then, for each subspace of each chromosome used in the genetic algorithm, at least one element of the plurality of elements included in the subspace is moved from a place where the element density is high to a place where the element density is low. local density eliminates algorithm causes to function the computer as the second algorithm executing means you run in the CPU, the first The topical manner compressional eliminated algorithm in said genetic algorithm and the second algorithm execution unit in algorithms executing means, fitness value of the best chromosome are repeatedly performed until the reference value or more, the first algorithm execution unit And causing the computer to function so as to output an optimal chromosome having a fitness value equal to or higher than the reference value as a solution that eliminates the density of the plurality of elements in the initial arrangement state while maintaining the connection relationship. (
Further, the computer-readable recording medium recording the circuit arrangement optimization problem processing program according to the present invention is arranged in the initial arrangement while maintaining the connection relation when arranging a plurality of elements in which the connection relation is defined in a required space. A computer-readable recording medium recording a circuit arrangement optimization problem processing program for processing a circuit arrangement optimization problem for eliminating the density of the plurality of elements in a state by a computer having a CPU. When the information related to the plurality of elements in the initial arrangement state is input to the computer as an arrangement result, the circuit arrangement optimization problem processing program divides the space with respect to the input arrangement result. Each width of a plurality of partial spaces configured as a thing is expressed as a first gene, and from the sequence of the first gene A first genetic algorithm using a fitness function in which a plurality of first chromosomes are prepared, the first chromosome is used, and a chromosome capable of reducing the density of a plurality of elements takes a large fitness value The first execution means for executing the CPU, and the portion corresponding to the first chromosome for each of the plurality of spaces corresponding to the plurality of first chromosomes generated during the execution of the first execution means A partial space that is configured by dividing the space by the width of the space and that includes a plurality of elements each is expressed as a second gene, and is composed of a sequence of the second gene and corresponds to the arrangement result. To prepare a plurality of chromosomes, use these second chromosomes, and repeatedly execute the second genetic algorithm using the fitness function on the CPU until a predetermined number of generations are exceeded. Second execution means for obtaining a plurality of second chromosomes having the highest fitness value as intermediate chromosomes corresponding to each of the plurality of first chromosomes, and during execution of the second execution means For each of the plurality of second chromosomes to be generated, at least of the plurality of elements included in the subspace for each subspace of each second chromosome used in the second genetic algorithm The computer is caused to function as third execution means for executing a local sparse / dense elimination algorithm for moving one element from a place having a high element density to a place having a low element density by the CPU. Based on the fitness values of the plurality of intermediate chromosomes acquired by the second execution means, the intermediate chromosome having the highest fitness value is acquired as the optimal chromosome from the plurality of intermediate chromosomes, The first genetic algorithm in the first execution means, the second genetic algorithm in the second execution means, and the local sparse / dense elimination algorithm in the third execution means are based on the optimal chromosome fitness value. It is repeatedly executed until the value becomes equal to or greater than the value, and the first execution means selects an optimal chromosome having a fitness value equal to or greater than the reference value, while maintaining the connection relationship, the plurality of elements in the initial arrangement state are sparse / dense The computer is caused to function so as to be output as a solution that solves the problem (claim 14).
Furthermore, the computer-readable recording medium on which the circuit arrangement optimization problem processing program of the present invention is recorded has an initial arrangement while maintaining the connection relation when arranging a plurality of elements in which the connection relation is defined in a required space. A computer-readable recording medium recording a circuit arrangement optimization problem processing program for processing a circuit arrangement optimization problem for eliminating the density of the plurality of elements in a state by a computer having a CPU. When the information related to the plurality of elements in the initial arrangement state is input to the computer as an arrangement result, the circuit arrangement optimization problem processing program divides the space with respect to the input arrangement result. The width of each of a plurality of subspaces configured as a thing is expressed as a first gene, and the sequence of the first gene A first genetic algorithm using a fitness function in which a plurality of first chromosomes are prepared, and the first chromosome is used, and a chromosome capable of reducing the density of a plurality of elements takes a large fitness value. First execution means for executing the CPU on the CPU, and a portion corresponding to the first chromosome for each of a plurality of spaces corresponding to the plurality of first chromosomes generated during the execution of the first execution means After dividing this space into a plurality of partial spaces by the width of the space, for each partial space, at least one of the plurality of elements included in the partial space is reduced in the element density from the place where the element density is high. By executing a local sparse / dense elimination algorithm for moving to a place by the CPU, a plurality of intermediate arrangement results corresponding to the plurality of first chromosomes are acquired, and the respective fitness of the plurality of intermediate arrangement results Second execution means for calculating the CPU by the CPU, and a partial space that is configured by dividing the space by the width of the partial space corresponding to the first chromosome and each includes a plurality of elements as the second gene A plurality of second chromosomes comprising the sequence of the second gene and corresponding to the arrangement result, and using the second chromosome and the second genetic using the fitness function By executing the algorithm on the CPU, the computer functions as third execution means for acquiring the second chromosome having the highest fitness value as the optimal chromosome, and the first execution means includes the second execution means. Based on the fitness value calculated by the execution means, an intermediate placement result having the highest fitness value is obtained as the optimum placement result from the plurality of intermediate placement results, and the first inheritance in the first execution means is obtained. The local sparse / dense elimination algorithm in the second execution means is repeatedly executed until a predetermined number of generations is exceeded in the first genetic algorithm, and the third execution means is in the first execution means. The optimal chromosome fitness value is greater than or equal to a reference value with respect to the optimal arrangement result obtained by repeatedly executing the local sparse / dense cancellation algorithm in the first genetic algorithm and the second execution means. The second genetic algorithm is repeatedly executed until the optimal chromosome whose fitness value is greater than or equal to the reference value is eliminated, and the sparseness of the plurality of elements in the initial arrangement state is eliminated while maintaining the connection relationship. The computer is made to function so as to be output as a solution (claim 15).
以上詳述したように、本発明によれば、接続関係が規定された複数の要素を所要の空間に配置するに際し、遺伝的アルゴリズムを実行するステップと、局所的疎密解消アルゴリズムを実行するステップとをそなえることにより、問題規模の大きい要素配置最適化問題を処理する場合にも、高速に要素の疎密の解消を行なうことができる利点がある(請求項1〜5,8,11〜15)。 As described above in detail, according to the present invention, when a plurality of elements connecting relationship is defined to place the required space, execute the automatic answering Step perform a genetic algorithm, the local density eliminates algorithm by providing the answering step, even when processing a scale of large elements layout optimization problem, there is an advantage that can be performed to eliminate the density of high speed elements (claim 1-5, 8, 1 1 to 15 ).
また、本発明の回路配置最適化問題処理方法によれば、第2アルゴリズム実行ステップが、複数の要素間の近傍性を保存しながら要素を移動させたり、複数の要素間の順序性を保存しながら要素を移動させたりできるので、処理できる回路配置最適化問題の範囲を拡大することができる(請求項6,7)。
さらに、第2アルゴリズム実行ステップが、モーフィング中心部から移動対象となる要素までの距離を線形的に拡大したり、モーフィング中心部から移動対象となる要素までの距離を非線形的に拡大したりできるので、これによっても処理できる配置最適化問題の範囲を拡大することができる(請求項9,10)。
Further, according to the circuit arrangement optimization problem processing method of the present invention, the second algorithm execution step moves the elements while preserving the proximity between the plurality of elements, or preserves the order between the plurality of elements. However, since the elements can be moved, the range of circuit layout optimization problems that can be processed can be expanded (
Furthermore, since the second algorithm execution step can linearly expand the distance from the morphing center to the element to be moved, or nonlinearly increase the distance from the morphing center to the element to be moved. , it is possible to expand the range of layout optimization problem This can handle (
また、第2アルゴリズム実行ステップが、疎密解消対象となる要素を逐次添加したり、固定配置要素も疎密解消対象となる要素とみなしたり、大きな要素の移動量を小さくしたり、移動対象となる要素を一挙に移動させたり、移動対象となる要素を徐々に移動させたりできるので、更に処理できる配置最適化問題の範囲を拡大することができる。 In addition, the second algorithm execution step sequentially adds elements to be de-dense-resolved, considers fixed arrangement elements to be elements to be de-dense-decomposed, reduces the amount of movement of large elements, and elements to be moved the or move at once, since it or gradually moving the moving target element, Ru can expand the range of arrangement optimization problem that can be further processed.
さらに、第1アルゴリズム実行ステップが、遺伝的アルゴリズムを実行する際に、縦方向に分割された染色体の集団を有する第1アイランドと、横方向に分割された染色体の集団を有する第2アイランドとを用いることもできるので、集団における解候補となる染色体の多様性を保持することができ、最適解を効率的に探索して、要素の疎密の解消をより効率的に行なうことができる。 Furthermore, when the first algorithm execution step executes the genetic algorithm, a first island having a population of chromosomes divided in the vertical direction and a second island having a population of chromosomes divided in the horizontal direction are obtained. since it is also possible to use, can hold a variety of chromosomal as the solution candidates in the population, to search the optimal solution efficiently, Ru can be performed to eliminate the density of elements more efficiently.
以下、図面を参照して本発明の実施の形態を説明する。
(a)配置最適化問題処理装置の構成の説明
図1は配置最適化問題処理装置(回路配置最適化問題処理装置;以下、配置最適化問題処理装置という)の構成を示すブロック図であり、この図1に示す配置最適化問題処理装置1は、本発明の配置最適化問題処理方法(回路配置最適化問題処理方法;以下、配置最適化問題処理方法という)を実行するためのものである。
ここで、図1において、5Aは各種の設定画面や処理にて得られた要素の最適配置結果等を表示する表示部、5はこの表示部5A上における表示状態を制御する表示制御部、7Bは表示部5A上の表示データを参照しオペレータがその表示データに対する応答情報を入力するキーボードやマウス等の入力部、7Dは入力部7Bを制御する入力制御部である。
Embodiments of the present invention will be described below with reference to the drawings.
(A) Description of Configuration of Placement Optimization Problem Processing Device FIG. 1 is a block diagram showing a configuration of a placement optimization problem processing device (circuit placement optimization problem processing device; hereinafter referred to as a placement optimization problem processing device). The arrangement optimization
Here, in FIG. 1, 5A is a display unit for displaying various setting screens and optimum arrangement results of elements obtained by processing, and 5 is a display control unit for controlling the display state on the
また、8はディスク装置で、このディスク装置8は、配置最適化問題処理装置1を動作させるために必要となる一切の情報(OS等)を記憶するものであるとともに、後述する配置最適化問題処理プログラムを記憶するものである。
なお、6は外部ファイル読出書込部,6Aは外部ファイル,7Aは印字部,7Cは印字制御部であり、外部ファイル読出書込部6及び印字部7Aは、それぞれ、入力部7Bからの指示に応じて、表示部5Aに表示された複数ノードの最適配置等を、外部ファイル6A又は所定の用紙に記録するものである。
Reference numeral 8 denotes a disk device. The disk device 8 stores all information (such as an OS) necessary for operating the layout optimization
6 is an external file read / write unit, 6A is an external file, 7A is a print unit, and 7C is a print control unit. The external file read /
そして、4は配置最適化問題処理装置1を構成する各部を統括的に管理するためのCPUである。
また、このCPU4は、接続関係が規定された複数の要素を所要の空間に配置するに際し、第1アルゴリズム実行手段及び第2アルゴリズム実行手段として機能するものである。
The
ここで、第1アルゴリズム実行手段は、後述する遺伝的アルゴリズムを実行するものであり、第2アルゴリズム実行手段は、後述する局所的疎密解消アルゴリズムを実行するものである。
より具体的には、第1アルゴリズム実行手段は、上記複数の要素の初期配置状態に関する情報が入力されると、遺伝的アルゴリズムを実行して、初期配置状態にある上記複数の要素の疎密を解消するものである。
Here, the first algorithm executing means executes a genetic algorithm described later, and the second algorithm executing means executes a local sparse / dense elimination algorithm described later.
More specifically, the first algorithm executing means executes a genetic algorithm when information on the initial arrangement state of the plurality of elements is input, and eliminates the density of the plurality of elements in the initial arrangement state. To do.
また、第2アルゴリズム実行手段は、上記第1アルゴリズム実行手段にて疎密が解消された後の上記複数の要素の中間配置状態に関する情報が入力されると、局所的疎密解消アルゴリズムを実行して、中間配置状態にある上記複数の要素の疎密を更に解消するものである。
その他、第1アルゴリズム実行手段と第2アルゴリズム実行手段とを組み合わせて実行して、局所的疎密解消アルゴリズムを実行する際に用いるパラメータの最適値を求めた後に、当該パラメータの最適値を用いて第2アルゴリズム実行手段を実行して、初期配置状態にある上記複数の要素の疎密を解消するようにすることもできる。
The second algorithm executing means executes a local sparse / dense cancellation algorithm when information on the intermediate arrangement state of the plurality of elements after the sparse / dense is canceled by the first algorithm executing means, This further eliminates the density of the plurality of elements in the intermediate arrangement state.
In addition, after executing the combination of the first algorithm execution means and the second algorithm execution means to obtain the optimum value of the parameter to be used when executing the local sparse / dense elimination algorithm, It is also possible to execute the two-algorithm execution means to cancel the density of the plurality of elements in the initial arrangement state.
そして、実際には、上記第1アルゴリズム実行手段及び第2アルゴリズム実行手段に相当する機能は、前述したディスク装置8やCD−ROM(図示せず)等の記録媒体に記録されたプログラム(回路配置最適化問題処理プログラム;以下、配置最適化問題処理プログラムという)を図示しないメモリ(RAM)に読み出し、そのプログラムを起動してCPU4で実行することにより、CPU4の動作として実現される。
Actually, the functions corresponding to the first algorithm execution means and the second algorithm execution means are programs (circuit arrangements) recorded on a recording medium such as the disk device 8 or CD-ROM (not shown). An optimization problem processing program (hereinafter referred to as an arrangement optimization problem processing program) is read into a memory (RAM) (not shown), and the program is started and executed by the
ここで、配置最適化問題処理プログラムは、接続関係が規定された複数の要素を所要の空間に最適な状態で配置する配置最適化問題をコンピュータにより処理するためのものであり、上記第1アルゴリズム実行手段及び第2アルゴリズム実行手段としてコンピュータを機能させるものである。
なお、この配置最適化問題処理プログラムは、例えばCD−ROM等に記録されており、CD−ROM等からコンピュータにおけるディスク装置8にインストールされて使用される。
Here, the placement optimization problem processing program is for processing a placement optimization problem in which a plurality of elements for which connection relations are defined is placed in a desired state in an optimal state, and the first algorithm. The computer functions as an execution means and a second algorithm execution means.
The arrangement optimization problem processing program is recorded on, for example, a CD-ROM, and is used by being installed in the disk device 8 in the computer from the CD-ROM or the like.
即ち、上述したディスク装置8やCD−ROM等が、配置最適化問題処理プログラムを記録したコンピュータ読み取り可能な記録媒体に相当する。
このように、本実施形態にかかる配置最適化問題処理装置1は、上述したCPU4,表示部5A,表示制御部5,外部ファイル読出書込部6,印字部7A,印字制御部7C,入力部7B,入力制御部7D,ディスク装置8等を有する一般的な計算機システム(コンピュータ)を用いて実現することが可能である。
That is, the above-described disk device 8, CD-ROM, and the like correspond to a computer-readable recording medium that records an arrangement optimization problem processing program.
As described above, the layout optimization
そして、配置最適化問題処理装置1においては、以下に説明するようにして、上記複数の配置要素9を配置領域10に最適な状態で配置する配置最適化問題が処理される。
(b)本発明の配置最適化問題処理方法の説明
(b1)基本的な考え方
まず、本発明の配置最適化問題処理方法の基本的な考え方について、図2〜図5を用いて説明する。なお、図4,図5において、符号9は要素(以下、配置要素という)を示し、図3〜図5において、符号10は配置要素9を配置するための空間(以下、配置領域という)を示している。
Then, the placement optimization
(B) Description of Arrangement Optimization Problem Processing Method of the Present Invention (b1) Basic Concept First, the basic concept of the arrangement optimization problem processing method of the present invention will be described with reference to FIGS. 4 and 5,
本発明の配置最適化問題処理方法によれば、接続関係が規定された複数の配置要素9を所要の配置領域10に配置するに際し、まず、配置最適化問題処理装置1に、上記複数の配置要素9の初期配置結果(初期配置状態に関する情報)が入力される(図2のステップS1)。ここで、配置要素9はそれぞれ固有の大きさをもつので、一般には、配置要素9が配置領域10に不均一に配置されて疎密が生じた状態の初期配置結果が入力される。
According to the arrangement optimization problem processing method of the present invention, when arranging a plurality of
この配置要素9の初期配置結果が入力されると、配置最適化問題処理装置1では、配置要素9の疎密が解消される(図2のステップS2)。
ここで、このステップS2では、遺伝的アルゴリズムが実行されるとともに(図2のステップS3;第1アルゴリズム実行ステップ)、局所的疎密解消アルゴリズムが実行される(図2のステップS4;第2アルゴリズム実行ステップ)。
When the initial arrangement result of the
Here, in step S2, a genetic algorithm is executed (step S3 in FIG. 2; first algorithm execution step) and a local sparse / dense elimination algorithm is executed (step S4 in FIG. 2; second algorithm execution). Step).
具体的には、ステップS3では、遺伝的アルゴリズムとして、遺伝的アルゴリズム(GAc)又は遺伝的アルゴリズム(GAp)が実行され、ステップS4では、局所的疎密解消アルゴリズムとして、流体力学のアナロジーが適用されたアルゴリズム、又は、モーフィングのアナロジーが適用されたアルゴリズムが実行される。なお、GAは、Genetic Algorithm の略である。 Specifically, in step S3, a genetic algorithm (GAc) or a genetic algorithm (GAp) is executed as a genetic algorithm, and in step S4, a hydrodynamic analogy is applied as a local sparse / dense cancellation algorithm. An algorithm or an algorithm to which a morphing analogy is applied is executed. GA is an abbreviation for Genetic Algorithm.
なお、これらのアルゴリズムの詳細については、後述する。
また、ステップS3にて遺伝的アルゴリズム(GAp)を実行する場合については、「(b4)第2実施形態の説明」にて説明する。
ここで、遺伝的アルゴリズム(GAc)を実行する際(ステップS3)には、まず、ステップS1において入力された配置要素9の初期配置結果を複製して、親の染色体とするための初期配置結果を複数作成する。続いて、配置領域10を、図3(b),図3(a)に示すように、縦方向又は横方向に適当な幅で分割して部分領域10aを形成する。そして、部分領域10a単位で遺伝的アルゴリズム(GAc)の交叉を行なうように定義して、遺伝的アルゴリズム(GAc)を実行することにより、初期配置状態にある配置要素9の疎密を解消する。
Details of these algorithms will be described later.
The case where the genetic algorithm (GAp) is executed in step S3 will be described in “(b4) Description of the second embodiment”.
Here, when executing the genetic algorithm (GAc) (step S3), first, the initial arrangement result for replicating the initial arrangement result of the
例えば配置領域10を縦方向に分割した場合に、ステップS3にて疎密を解消した中間配置状態にある配置要素9の一例を図4(a)に示す。この図4(a)に示す例では、遺伝的アルゴリズム(GAc)を実行しただけでは、配置要素9の疎密は完全には解消されていない。なお、図4(b)は、図4(a)に示す中間配置状態にある配置要素9の密度を示している。
For example, FIG. 4A shows an example of the
そこで、配置最適化問題処理装置1では、ステップS3にて疎密が解消された後の配置要素9の中間配置結果(中間配置状態に関する情報)が入力されると、局所的疎密解消アルゴリズムを実行して、中間配置状態にある配置要素9の疎密が更に解消される(ステップS4)。
ステップS4では、局所的疎密解消アルゴリズムを実行して、ステップS3にて分割された配置領域10の部分領域10a内で、配置要素9を配置要素密度が高い場所から低い場所へ移動させることにより、中間配置状態にある配置要素9の疎密を解消する。以下では、局所的疎密解消アルゴリズムを実行して配置要素9の疎密を解消する方法を、局所的疎密解消法(LO)という。
Therefore, the placement optimization
In step S4, a local sparse / dense elimination algorithm is executed to move the
なお、図4(a)に示す中間配置状態にある配置要素9の疎密を解消した結果を図5(a)に示す。また、図5(b)に、図5(a)に示す配置状態にある配置要素9の密度を示す。
さらに、配置最適化問題処理装置1では、ステップS2により配置要素9の疎密が解消されたか(ステップS4にて得られた配置結果が所定の疎密解消の条件を満たしているか)が判断され(ステップS5)、配置要素9の疎密が解消されたと判断された場合には処理を終了する(ステップS5のYESルート)。
FIG. 5A shows the result of eliminating the density of the
Furthermore, in the placement optimization
一方、配置要素9の疎密が解消されていないと判断された場合には、遺伝的アルゴリズムのパラメータと局所的疎密解消アルゴリズムのパラメータの変更を行なった後に(ステップS5のNOルートからステップS6)、前述したステップS2以降の動作を繰り返す。
このように、本発明の配置最適化問題処理方法によれば、接続関係が規定された複数の配置要素9を所要の配置領域10に配置するに際し、遺伝的アルゴリズム(GAc)を実行して初期配置状態にある配置要素9の疎密を解消した後に、局所的疎密解消アルゴリズムを実行して中間配置状態にある配置要素9の疎密を更に解消しているので、問題規模の大きい要素配置最適化問題を処理する場合にも、高速に配置要素9の疎密の解消を行なうことができる。
On the other hand, if it is determined that the sparse / dense of the
As described above, according to the layout optimization problem processing method of the present invention, when a plurality of
即ち、本発明の配置最適化問題処理方法によれば、遺伝的アルゴリズム(GAc)による疎密解消法を用いているので、遺伝的アルゴリズム(GAc)の大域的探索法により効率的に配置要素9の疎密の解消を行なうことができるほか、適応度の増大に寄与して配置最適化問題処理装置1の計算速度を増加させることができるため、配置最適化問題を高速に処理することができる。
That is, according to the layout optimization problem processing method of the present invention, since the sparse / dense elimination method using the genetic algorithm (GAc) is used, the global search method of the genetic algorithm (GAc) can be used to efficiently arrange the
このとき、局所的疎密解消アルゴリズムを実行して局所的疎密解消法(LO)を実行しているので、疎密の解消を見通し良く且つ効果的に実施することができる。
このように、本発明の配置最適化問題処理方法は、接続関係が規定された複数の配置要素9を所要の空間に配置するに際し、遺伝的アルゴリズムを実行する第1アルゴリズム実行ステップと、局所的疎密解消アルゴリズムを実行する第2アルゴリズム実行ステップとをそなえることにより、初期配置状態にある上記複数の配置要素9の疎密を解消して、上記複数の配置要素9を配置領域10に最適な状態で配置する配置最適化問題を処理しているのであるが、第1アルゴリズム実行ステップと第2アルゴリズム実行ステップとを組み合わせた各実施形態について、以下にて詳細に説明する。
At this time, since the local sparse / dense elimination algorithm is executed and the local sparse / dense elimination method (LO) is executed, the sparse / dense elimination can be effectively performed with good visibility.
As described above, the placement optimization problem processing method according to the present invention includes a first algorithm execution step for executing a genetic algorithm when a plurality of
(b2)第1実施形態の説明
本発明の第1実施形態にかかる配置最適化問題処理方法について説明する。
第1実施形態にかかる配置最適化問題処理方法は、上記第1アルゴリズム実行ステップ(図2のステップS3)において、遺伝的アルゴリズム(GAc)を実行し、第2アルゴリズム実行ステップ(図2のステップS4)において、局所的疎密解消アルゴリズムとして流体力学のアナロジーが適用されたアルゴリズムを実行するものである。
(B2) Description of First Embodiment A placement optimization problem processing method according to the first embodiment of the present invention will be described.
In the layout optimization problem processing method according to the first embodiment, the genetic algorithm (GAc) is executed in the first algorithm execution step (step S3 in FIG. 2), and the second algorithm execution step (step S4 in FIG. 2). ) Executes an algorithm to which an analogy of fluid dynamics is applied as a local sparse / dense elimination algorithm.
ここで、第1実施形態にて実行される遺伝的アルゴリズム(GAc)は、配置要素9の配置結果を染色体とみなして、配置要素9の疎密を直接解消するための遺伝的アルゴリズムである。
即ち、第1実施形態にかかる配置最適化問題処理方法は、各染色体(即ち、配置要素9の配置結果)に遺伝的アルゴリズム(GAc)を適用した後に、この遺伝的アルゴリズムとは異なる制御パラメータ(即ち異なる配置要素9の移動方法)をもつ局所的疎密解消法(LO)を各染色体に適用することで、効果的に配置要素9の疎密を解消しようとするものである。なお、この配置最適化問題処理方法は、GAc+LOと表記することができる。
Here, the genetic algorithm (GAc) executed in the first embodiment is a genetic algorithm for directly eliminating the density of the
That is, in the layout optimization problem processing method according to the first embodiment, after applying the genetic algorithm (GAc) to each chromosome (that is, the layout result of the layout element 9), control parameters ( That is, by applying a local sparse / dense elimination method (LO) having a
ここで、遺伝的アルゴリズム(GAc)による疎密解消法について、図6〜図11を用いて説明する。
まず、遺伝的アルゴリズムについて説明すると、遺伝的アルゴリズムは、生物の遺伝の機構を模倣してそれを工学的に応用した技術であり、確率的探索,学習及び最適化の一手法と考えることができる。
Here, the sparse / dense elimination method using the genetic algorithm (GAc) will be described with reference to FIGS.
First, the genetic algorithm is explained. The genetic algorithm is a technology that imitates the genetic mechanism of an organism and applies it to engineering, and can be considered as a method of probabilistic search, learning, and optimization. .
生物の進化の過程では、既存の個体(親)から新たなる個体(子)が生まれる際に、個体のもつ染色体同士の交叉,染色体上の遺伝子の突然変異などが起こる。そして、環境に適応しない個体は淘汰され、環境により適応した個体が生きのびて新たな親となってさらに新たな子孫を作ることにより、環境に適応した個体の集団が生きのびていく。
各個体がどの程度環境に適応するかは、染色体(遺伝子の一次元ストリング)によって決定されるが、遺伝的アルゴリズムでは、配置最適化問題の解候補が遺伝子の一次元ストリングである染色体として表現される。そして、配置最適化問題の目的関数がいわゆる環境に相当し、目的関数を最適にするものほど大きい値をとるような適応度関数が染色体に対して定義される。
In the process of evolution of organisms, when a new individual (child) is born from an existing individual (parent), crossing of chromosomes of the individual, gene mutation on the chromosome, etc. occur. Individuals that do not adapt to the environment are deceived, and individuals that adapt to the environment survive to become new parents and create new offsprings, so that a group of individuals adapted to the environment survives.
The degree to which each individual adapts to the environment is determined by chromosomes (one-dimensional strings of genes), but in genetic algorithms, solution candidates for the placement optimization problem are expressed as chromosomes that are one-dimensional strings of genes. The Then, the fitness function corresponding to the so-called environment corresponds to a so-called environment, and an fitness function that takes a larger value is defined for the chromosome.
そして、遺伝的アルゴリズムでは、染色体の遺伝子配列を変化させて問題の最適解になりうる染色体(目的関数をより最適にする解)を生成するために、各染色体に、図8に示すような各種の遺伝オペレーション(選択/自己複製,交叉及び突然変異)が施される。
ここで、選択(Selection )/自己複製(Reproduction)は、集団の中で適応度の高い染色体をもつ個体をより高い確率で選択して次世代の親とする操作であり(図9参照)、交叉(Crossover )は、2つの親の染色体の一部を互いに入れ換えて新たな個体(子)を作りだす操作であり(図10参照)、突然変異(Mutation)は、1つの染色体の一部の遺伝子をランダムに置き換えて個体を変化させる操作である(図11参照)。
In the genetic algorithm, in order to generate chromosomes (solutions that optimize the objective function) that can be the optimal solution of the problem by changing the gene sequence of the chromosomes, various chromosomes as shown in FIG. Genetic operations (selection / self-replication, crossover and mutation) are performed.
Here, selection / self-replication (Reproduction) is an operation to select an individual having a highly-adapted chromosome in a group with a higher probability to be a next generation parent (see FIG. 9). Crossover is an operation to create a new individual (child) by exchanging part of two parental chromosomes (see Fig. 10). Mutation is a part of one chromosome gene. Is an operation of changing the individual by randomly replacing (see FIG. 11).
そして、これらの遺伝オペレーションを施すことにより、適応度値(fitnessvalue )のより高い染色体(即ち、目的関数をより最適にする解)を得ることができる。
ここで、第1実施形態では、上記第1アルゴリズム実行ステップが、複数の配置要素9の配置状態を遺伝子として表現し、配置領域10に上記複数の配置要素9を配置する問題の解候補として、当該遺伝子の配列からなり配置領域10として定義される染色体を用いることにより、遺伝的アルゴリズム(GAc)を実行するようになっている。
Then, by performing these genetic operations, it is possible to obtain a chromosome with a higher fitness value (ie, a solution that optimizes the objective function).
Here, in the first embodiment, the first algorithm execution step expresses the arrangement state of the plurality of
まず、第1アルゴリズム実行ステップでは、遺伝的アルゴリズム(GAc)を実行する際に、配置領域10を複数の部分領域10aに分割することにより染色体を複数の帯状の領域に分割する。
即ち、第1アルゴリズム実行ステップでは、配置要素9の配置結果を必要なだけ複製して、これらを親の染色体とする。次に、配置領域10を前述したように縦方向又は横方向に帯状に分割して〔図3(a),図3(b)参照〕、染色体を複数の帯状領域に分割する。ただし、遺伝的アルゴリズム(GAc)を実行する際には、分割方向はどの染色体でも同一であるとする。
First, in the first algorithm execution step, when executing the genetic algorithm (GAc), the chromosome is divided into a plurality of band-like regions by dividing the
That is, in the first algorithm execution step, the arrangement results of the
続いて、第1アルゴリズム実行ステップでは、染色体における上記複数の帯状領域の中から選択された少なくとも一つの帯状領域を、他の染色体における当該帯状領域に対応する帯状領域(この帯状領域は、当該帯状領域に含まれる要素と同じ要素を含むものである)と交換することにより、遺伝オペレーションとしての交叉が実行される。
ここで、交叉の一例を図6に示す。図6に示すように、染色体11,12を親の染色体として確率的に選んでこれらのコピーを作り、染色体11の帯状領域A1 〜A4 ,染色体12の帯状領域B1 〜B4 のうち、選ばれた帯状領域を互いに交換することによって交叉が実行される。図6には、染色体11の帯状領域A3と染色体12の帯状領域B3 とを交換して、帯状領域A1 ,A2 ,B3 ,A4 からなる子の染色体13を得た例が示されている。なお、図6には、染色体の一つの帯状領域を選択し、染色体同士でこの部分を交換して交叉を実行する例が示されているが、染色体の複数の帯状領域を選択し、染色体同士でこれらの部分を交換して交叉を実行してもよい。
Subsequently, in the first algorithm execution step, at least one band region selected from the plurality of band regions in the chromosome is converted into a band region corresponding to the band region in another chromosome (this band region is the band region). Crossover as a genetic operation is performed by exchanging for the same element as the element included in the region.
An example of crossover is shown in FIG. As shown in FIG. 6, the
また、第1アルゴリズム実行ステップでは、一方の染色体における上記複数の帯状領域の中のある特定の帯状領域の方が、他方の染色体における当該帯状領域に対応する帯状領域よりも疎密が解消されている場合には、染色体における当該帯状領域を他の染色体における当該帯状領域に対応する帯状領域に張り付けることにより、遺伝オペレーションとしての交叉を実行してもよい。 Further, in the first algorithm execution step, the density of a certain band-like region among the plurality of band-like regions in one chromosome is eliminated compared to the band-like region corresponding to the band-like region in the other chromosome. In some cases, crossover as a genetic operation may be executed by pasting the band-like region in the chromosome to the band-like region corresponding to the band-like region in another chromosome.
例えば、一方の染色体の帯状領域Ri (i=1,…,N)の中で配置要素9の疎密が著しいものを一つ又は複数選び、もし他方の染色体の対応する帯状領域Ri ′(i=1,…,N)の配置要素9の疎密が、上記一方の染色体の帯状領域Ri より少ない場合には、他方の染色体の帯状領域Ri ′を一方の染色体の対応する部分へ張り付けることにより、交叉を実行することができる。
For example, one or a plurality of the zonal regions R i (i = 1,..., N) of one chromosome having a
また、一方の染色体の帯状領域Ri の配置要素9の疎密と、他方の染色体の対応する帯状領域Ri ′の配置要素9の疎密とを全て比較し、もし他方の染色体に疎密が少ない帯状領域Ri ′があればそれを一方の染色体の対応する部分へ張り付け、逆に一方の染色体に疎密が少ない帯状領域Ri があればそれを他方の染色体の対応する部分へ張り付けることにより、交叉を実行してもよい。
Further, the density of the
さらに、第1アルゴリズム実行ステップでは、上記複数の帯状領域の中の少なくとも一つの帯状領域内において、上記複数の配置要素9のうちの少なくとも一つの配置要素9を移動させることにより、遺伝オペレーションとしての突然変異が実行される。
ここで、突然変異の一例を図7に示す。図7に示すように、配置要素9をある確率で選び、この配置要素9の属する領域Ri の中で配置要素9をランダムに移動させることによって、突然変異が実行される。なお、図7では、移動させる配置要素9に網かけを施している。
Further, in the first algorithm execution step, at least one of the plurality of
Here, an example of the mutation is shown in FIG. As shown in FIG. 7, mutation is executed by selecting a
最後に、第1アルゴリズム実行ステップでは、上記複数の配置要素9の疎密が小さい染色体が大きな適応度値をとりうるような適応度値関数(fitness 関数)を用いて、遺伝オペレーションとしての選択が実行される。
ここで、選択を実行する際には、以下のように定義された適応度値関数を用いればよい。
Finally, in the first algorithm execution step, selection as a genetic operation is performed using a fitness value function (fitness function) that allows a chromosome with a small density of the plurality of
Here, when executing the selection, a fitness value function defined as follows may be used.
適応度値=定数−(配置要素密度の最大値−配置要素密度の最小値)…(1)
適応度値=定数−(配置要素密度が平均配置要素密度以下である配置領域の面積 )…(2)
適応度値=定数−(配置要素密度が平均配置要素密度以上である配置領域の面積) …(3)
さらに、局所的疎密解消法(LO)について、図12〜図17を用いて説明する。
Fitness value = constant− (maximum value of arrangement element density−minimum value of arrangement element density) (1)
Fitness value = constant− (area of arrangement area where arrangement element density is below average arrangement element density) (2)
Fitness value = constant− (area of arrangement area where arrangement element density is equal to or higher than average arrangement element density) (3)
Furthermore, a local sparse / dense elimination method (LO) will be described with reference to FIGS.
局所的疎密解消法(LO)は、前述したように、局所的疎密解消アルゴリズムを実行して、配置領域10の部分領域10a内で配置要素9を配置要素密度が高い場所から低い場所へ移動させることにより、中間配置状態にある配置要素9の疎密を解消するものである。なお、局所的疎密解消法(LO)は、各染色体毎(各配置結果毎)に適用される。
ここで、第1実施形態においては、局所的疎密解消アルゴリズムとして、流体力学のアナロジーが適用されたアルゴリズムを用いて、配置要素9の疎密の解消が行なわれる。
As described above, the local sparse / dense elimination method (LO) executes the local sparse / dense elimination algorithm to move the
Here, in the first embodiment, as the local sparse / dense elimination algorithm, the sparse / dense of the
流体力学のアナロジーとは、配置領域10の部分領域10a内における配置要素9の移動を一種の流体の動きとしてとらえ、隣接する部分領域10aでの配置要素9の流れ(移動)の相互影響や、同一の部分領域10aでの流れの相互影響を、粘性のアナロジーで考慮したものである。
流体力学のアナロジーが適用されたアルゴリズムを用いて、配置要素9の疎密の解消を行なう際には、まず、配置領域10が縦方向又は横方向に予め決められた幅で分割されて、配置領域10が複数の帯状の領域に分けられる。
An analogy of hydrodynamics is that the movement of the
When the density of the
ここで、第1実施形態では、遺伝的アルゴリズムを実行する際に、配置領域10を複数の部分領域10aに分割しているので、その部分領域10aをそのまま帯状領域とすることができる。
また、新たに配置領域10を分割しなおすことにより、配置領域10を複数の帯状の領域に分けてもよい。
Here, in the first embodiment, when the genetic algorithm is executed, the
Further, the
この場合には、縦方向に分割された帯状領域の個数をN本とすると、各帯状領域はS1 ,S2 ,…,SN で示すことができる。同様に、横方向に分割された帯状領域の個数をM本とすると、各帯状領域はT1 ,T2 ,…,TM で示すことができる。なお、各帯状領域(Si ,Ti )の幅は、それぞれ異なっていても良い。
また、配置領域10の分割を階層化すれば、配置要素9の密度を均一にしやすくできる。なお、配置領域10の分割を細かくしていく場合には、分割を対称的に進める方法〔図12(a)〜図12(d)参照〕と、分割を非対称的に進める方法がある。
In this case, when the number of divided vertically band-like region and N present, each band region is S 1, S 2, ..., can be represented by S N. Similarly, when the number of the divided strip-like region in the horizontal direction and M present, each swathe T 1, T 2, ..., can be represented by T M. In addition, the width | variety of each strip | belt-shaped area | region ( Si , Ti ) may each differ.
Further, if the division of the
一方、配置領域10を階層的に分割せずに、最初から細分化しておけば、階層的に分割を進めていく方法よりも計算時間を短縮することができる。
そして、配置領域10が複数の帯状の領域に分けられると、帯状領域Ti (Si )内に位置する配置要素9を、この帯状領域Ti (Si )内で配置要素密度が均一になるように移動する。即ち、流体が密度の高い所から低い所へと移動する動作を模倣して、配置要素9を密度の高い位置から密度の低い位置へと移動する。
On the other hand, if the
When the
即ち、上記第2アルゴリズム実行ステップ(図2のステップS4)では、中間配置状態にある上記複数の配置要素9のうちの少なくとも一つの配置要素9を、配置要素密度が高い場所から配置要素密度が低い場所へと移動させることにより、流体力学のアナロジーが適用されたアルゴリズムを実行しているのである。
そして、配置領域10を複数の部分領域10aに分割したときには、第2アルゴリズム実行ステップでは、上記分割した部分領域10a内において、当該部分領域10a内に含まれる上記複数の配置要素9のうちの少なくとも一つの配置要素9を、配置要素密度が高い場所から配置要素密度が低い場所へと移動させている。
That is, in the second algorithm execution step (step S4 in FIG. 2), at least one
When the
ここで、配置要素9を移動させる際には、以下のような方法を用いることができる。
(1)近傍性の保存
流体のアナロジーでいえば、粘性のため近接する配置要素9同士は容易に遠くへ引き離されない。
従って、図14(a),図14(b)に示すように、近接する配置要素9同士は移動後も近くに位置するように移動させる。
Here, when the
(1) Preservation of proximity In terms of fluid analogy,
Accordingly, as shown in FIGS. 14A and 14B, the
即ち、第2アルゴリズム実行ステップでは、上記複数の配置要素9間の近傍性を保存しながら、上記複数の配置要素9のうちの少なくとも一つの配置要素9を移動させることができる。
(2)順序性の保存
図15(a),図15(b)に示すように、ある配置要素9と別の配置要素9とが所定の位置関係を有する場合(例えば、ある配置要素9が別の配置要素9の上又は右の位置にある場合等)、移動後も2つの配置要素9がこの位置関係を保つように配置要素9を移動する。
That is, in the second algorithm execution step, at least one of the plurality of
(2) Preserving Order As shown in FIGS. 15A and 15B, when a
これは配置最適化問題の解が与える配置要素9間の相対的な位置関係を保存する働きがある。
即ち、第2アルゴリズム実行ステップでは、上記複数の配置要素9間の順序性を保存しながら、上記複数の配置要素9のうちの少なくとも一つの配置要素9を移動させることができる。
This serves to preserve the relative positional relationship between the
That is, in the second algorithm execution step, at least one of the plurality of
(3)逐次添加法
一度に全ての配置要素9の移動を考慮するのではなく、最初はごく少数の配置要素9のみの移動を考慮する。これら少数の配置要素9を移動させて、これら少数の配置要素9の密度を均一にした後に、まだ考慮していない配置要素9の中から再び少数の配置要素9を選択し、すでに移動の終った配置要素9の集合に付け加える。そして、この新たに配置要素9が添加された配置要素9の集合について、配置要素9の密度を均一にするように配置要素9の移動を再度実施する。
(3) Sequential addition method Instead of considering the movement of all the
例えば、図16(a)に示すように、配置要素9を、符号Aで示す配置要素9の集合と、符号Bで示す配置要素9の集合とに分ける。なお、図16(a)では、符号Aで示す配置要素9を斜線で示し、符号Bで示す配置要素9を網かけで示している。
そして、まず、図16(b),図16(c)に示すように符号Aで示す配置要素9の集合の疎密を解消して、図16(d)に示すように、疎密が解消された当該配置要素9の集合に符号Bで示す配置要素9の集合を添加する。続いて、図16(e)に示すように、符号Bで示す配置要素9の集合の疎密を解消する。
For example, as shown in FIG. 16A, the
First, as shown in FIGS. 16 (b) and 16 (c), the density of the set of
即ち、第2アルゴリズム実行ステップでは、中間配置状態にある上記複数の配置要素9の疎密を解消する際に、疎密解消対象となる配置要素9を逐次添加していくことができる。
(4)固定配置要素の考慮
固定配置要素は移動させることができない配置要素9であるが、固定配置要素がある場合に、固定配置要素を考慮せずに固定配置要素以外の配置要素9のみを移動させると、固定配置要素の周辺の配置要素密度が大きくなりやすい傾向がある。
In other words, in the second algorithm execution step, the
(4) Consideration of Fixed Arrangement Elements The fixed arrangement element is an
そこで、固定配置要素の周辺に配置要素9が集積しないようにするため、上記複数の配置要素9の中に固定配置要素がある場合には、第2アルゴリズム実行ステップでは、固定配置要素も疎密解消対象となる配置要素9とみなして、中間配置状態にある上記複数の配置要素9の疎密を解消することが好ましい。
(5)大きな配置要素の考慮
他の配置要素9に比べて配置領域10を占める割合が大きな配置要素がある場合に、この大きな配置要素を移動させると、大きな配置要素は多数の配置要素9と重なりやすいため、配置要素密度を著しく増大させる恐れがある。
Therefore, in order to prevent the
(5) Consideration of Large Arrangement Elements If there is an arrangement element that occupies the
これを避けるためには、大きな配置要素の移動量を他の配置要素9の移動量に比べて比較的小さくすればよい。
即ち、上記複数の配置要素9の中に大きな配置要素がある場合には、第2アルゴリズム実行ステップでは、大きな配置要素の移動量を小さくして、中間配置状態にある上記複数の配置要素9の疎密を解消することが好ましい。
In order to avoid this, the movement amount of a large arrangement element should be relatively small compared to the movement amounts of
That is, when there is a large arrangement element among the plurality of
また、図17に示すように、大きな配置要素9aが帯状領域Ti と帯状領域Ti+1 とをまたぐように配置領域10に存在している場合には、注意が必要である。特に、大きな配置要素9aの周辺の配置要素9の移動方向が帯状領域Ti と帯状領域Ti+1 で反対である場合には、この大きな配置要素9aは動かさないようにする必要がある。
(6)配置要素密度の高い帯状領域の疎密の解消方法
配置要素密度の高い帯状領域Si (Ti )の疎密の解消方法には、一挙に(一度に)配置要素9を移動させて一度に密度の高い帯状領域Si (Ti )をなくす方法と、徐々に(段階的に)配置要素9を移動させて段階的に高い配置要素密度をならしていく方法とがある。
In addition, as shown in FIG. 17, care is required when a large arrangement element 9a exists in the
(6) Method for eliminating the density of the band-like region having a high arrangement element density The method for eliminating the density of the band-like region S i (T i ) having a high arrangement element density is performed by moving the
即ち、第2アルゴリズム実行ステップでは、中間配置状態にある上記複数の配置要素9の疎密を解消する際に、移動対象となる配置要素9を一挙に移動させてもよいし、移動対象となる要素を徐々に移動させてもよい。
これにより、第1実施形態にかかる配置最適化問題処理方法においては、第1アルゴリズム実行ステップでは、上記複数の配置要素9の初期配置状態に関する情報が入力されると、遺伝的アルゴリズム(GAc)を実行して、初期配置状態にある上記複数の配置要素9の疎密が解消される。
That is, in the second algorithm execution step, when the density of the plurality of
Thereby, in the layout optimization problem processing method according to the first embodiment, in the first algorithm execution step, when information on the initial layout state of the plurality of
そして、第2アルゴリズム実行ステップでは、第1アルゴリズム実行ステップにて疎密が解消された後の上記複数の配置要素9の中間配置状態に関する情報が入力されると、局所的疎密解消アルゴリズムを実行して、中間配置状態にある上記複数の配置要素9の疎密が更に解消される。
上述のように第1アルゴリズム実行ステップと第2アルゴリズム実行ステップとを実行することにより、上記複数の配置要素9を配置領域10に最適な状態で配置する配置最適化問題を処理することができる。
In the second algorithm execution step, when information on the intermediate arrangement state of the plurality of
By executing the first algorithm execution step and the second algorithm execution step as described above, it is possible to process an arrangement optimization problem in which the plurality of
このように、本発明の第1実施形態にかかる配置最適化問題処理方法によれば、遺伝的アルゴリズム(GAc)による疎密解消法と、流体力学のアナロジーが適用されたアルゴリズムを用いた局所的疎密解消法(LO)とを組み合わせているので、適応度の増加を加速して、遺伝的アルゴリズム(GAc)の高速化を実現することができる。
また、遺伝的アルゴリズム(GAc)において、配置要素9の疎密の解消に適した交叉を導入しているので、解を効率的に発生させることができ、最適解を効率的に探索することができる。
As described above, according to the layout optimization problem processing method according to the first embodiment of the present invention, the local density using a genetic algorithm (GAc) and the algorithm to which an analogy of fluid dynamics is applied. Since the resolution method (LO) is combined, the increase in fitness can be accelerated and the speed of the genetic algorithm (GAc) can be realized.
Moreover, in the genetic algorithm (GAc), crossover suitable for eliminating the density of the
さらに、第2アルゴリズム実行ステップが、複数の配置要素9間の近傍性を保存しながら配置要素9を移動させたり、複数の配置要素9間の順序性を保存しながら配置要素9を移動させたりできるので、処理できる配置最適化問題の範囲を拡大することができる。
また、第2アルゴリズム実行ステップが、配置要素9の疎密を解消する際に、疎密解消対象となる配置要素9を逐次添加したり、固定配置要素も疎密解消対象となる配置要素9とみなしたり、大きな配置要素9の移動量を小さくしたり、移動対象となる配置要素9を一挙に移動させたり、移動対象となる配置要素9を徐々に移動させたりできるので、更に処理できる配置最適化問題の範囲を拡大することができる。
Furthermore, the second algorithm execution step moves the
In addition, when the second algorithm execution step eliminates the density of the
なお、上述においては、第1アルゴリズム実行ステップにて遺伝的アルゴリズム(GAc)による疎密解消法を実行した後に、第2アルゴリズム実行ステップにて局所的疎密解消法(LO)を実行することにより、遺伝的アルゴリズム(GAc)による疎密解消法と局所的疎密解消法(LO)とを組み合わせた場合について説明したが、第1アルゴリズム実行ステップが遺伝的アルゴリズム(GAc)を実行している中で、第2アルゴリズム実行ステップが局所的疎密解消アルゴリズムを実行することにより、遺伝的アルゴリズム(GAc)による疎密解消法と局所的疎密解消法(LO)とを組み合わせることもできる。 In the above description, the genetic algorithm (GAc) is performed in the first algorithm execution step, and then the local algorithm is performed in the second algorithm execution step. The case where the sparse / dense elimination method using the local algorithm (GAc) and the local sparse / dense elimination method (LO) are combined has been described. However, while the first algorithm execution step is executing the genetic algorithm (GAc), the second By executing the local sparse / dense elimination algorithm in the algorithm execution step, the sparse / dense elimination method by the genetic algorithm (GAc) and the local sparse / dense elimination method (LO) can be combined.
このときの配置最適化問題処理装置1の動作を、図18に示すフローチャートを用いて説明する。
まず、配置最適化問題処理装置1に、上記複数の配置要素9の初期配置結果(初期配置状態に関する情報)が入力される(ステップA1)。
この配置要素9の初期配置結果が入力されると、配置最適化問題処理装置1においては、上記第1アルゴリズム実行ステップにより、配置結果のコピーを作ることにより染色体の集団が準備される(ステップA2)。
The operation of the arrangement optimization
First, the initial optimization result (information regarding the initial arrangement state) of the plurality of
When the initial placement result of the
続いて、第2アルゴリズム実行ステップでは、各染色体(各配置結果)に対して、配置領域10の分割方法は同じであるがその他の制御パラメータが異なる局所的疎密解消法(LO)が実行されて、配置結果の疎密の解消が試みられる(ステップA3)。なお、局所的疎密解消法(LO)は、流体力学のアナロジーが適用されたアルゴリズムを用いて実行される。
Subsequently, in the second algorithm execution step, for each chromosome (each placement result), a local sparse / dense elimination method (LO) is executed in which the method for dividing the
さらに、第1アルゴリズム実行ステップでは、各染色体に対して、遺伝オペレーションとしての交叉,突然変異及び選択が施され(ステップA4〜A6)、最高の適応度値をもつ染色体(最適な染色体)の適応度値が所定の基準値以上であるか、又は、配置結果の疎密が解消されたかどうかが判断される(ステップA7)。
そして、最適な染色体の適応度値が所定の基準値以上でない、又は、配置結果の疎密が解消されていないと判断された場合には、上記ステップA3以降の処理を繰り返し(ステップA7のNOルート)、最適な染色体の適応度値が所定の基準値以上である、又は、配置結果の疎密が解消されていると判断された場合には、その最適な染色体が配置最適化問題の解として出力されて、配置最適化問題処理装置1での処理が終了する(ステップA7のYESルート)。
Furthermore, in the first algorithm execution step, crossover, mutation and selection as genetic operations are performed on each chromosome (steps A4 to A6), and the chromosome with the highest fitness value (optimum chromosome) is adapted. It is determined whether the degree value is equal to or greater than a predetermined reference value, or whether the arrangement result has been eliminated (step A7).
When it is determined that the optimal fitness value of the chromosome is not equal to or greater than a predetermined reference value, or the arrangement result is not resolved, the process after step A3 is repeated (NO route of step A7). ) If it is determined that the optimal fitness value of the chromosome is equal to or higher than a predetermined reference value or the density of the arrangement result has been eliminated, the optimal chromosome is output as a solution to the arrangement optimization problem. Thus, the processing in the placement optimization
このようにしても、上述したものと同様の利点を得ることができる。
また、流体力学のアナロジーが適用されたアルゴリズムを用いて局所的疎密解消法(LO)を実行する際に、図13(a)〜図13(c)に示すように、ある配置領域10を縦方向に分割して各配置要素9を移動させるとともに、他の配置領域10を横方向に分割して各配置要素9を移動させ、特定の配置要素9の、縦方向の分割における移動(移動方向と移動量)と、横方向の分割における移動(移動方向と移動量)を、例えばそれぞれベクトルとみなして、2つのベクトルを合成することにより、当該特定の配置要素9の移動方向と移動量を求め、これに基づいて当該特定の配置要素9を移動させてもよい。
Even if it does in this way, the same advantage as what was mentioned above can be acquired.
Further, when executing the local sparse / dense elimination method (LO) using an algorithm to which an analogy of fluid mechanics is applied, as shown in FIGS. Each of the
(b3)第1実施形態の変形例の説明
上述した第1実施形態においては、第2アルゴリズム実行ステップが、局所的疎密解消法(LO)を実行する際に、局所的疎密解消アルゴリズムとして、流体力学のアナロジーが適用されたアルゴリズムを用いる場合について説明したが、第2アルゴリズム実行ステップは、局所的疎密解消アルゴリズムとして、モーフィングのアナロジーが適用されたアルゴリズムを用いることもできる。
(B3) Description of Modified Example of First Embodiment In the first embodiment described above, when the second algorithm execution step executes the local sparse / dense elimination method (LO), as a local sparse / dense elimination algorithm, Although the case where an algorithm to which a dynamic analogy is applied has been described, the second algorithm execution step can use an algorithm to which a morphing analogy is applied as a local sparse / dense resolution algorithm.
モーフィングのアナロジーとは、ある2次元画像を徐々に変形して他の画像にする画像処理技術であるモーフィング(morphing)を模倣し、配置領域10の部分領域10a内における配置要素9の移動をモーフィングにおける変形動作としてとらえたものである。ただし、画像処理技術のモーフィングとは異なり、配置要素9自体の大きさや形状は変化せず、配置要素9の配置領域10上での位置座標のみが変化するようにする。
The morphing analogy imitates morphing, which is an image processing technique that gradually transforms a two-dimensional image into another image, and morphs the movement of the
そして、モーフィングのアナロジーによって配置要素9の疎密の解消を実行する際には、前述の第1実施形態にて説明したように配置領域10を分割して得られた各帯状領域内で、図19(a)に示すように、それぞれ配置要素9を移動させる際の中心点(モーフィング中心部)Cを決定する。そして、図19(b)に示すように、この中心点Cを基準として、この中心点Cから配置要素までの距離に応じて、配置要素9間の相対的な位置関係を保ったまま配置要素9の座標を増加させることにより配置要素9間の距離を増大させ、配置要素9を当該配置要素9の方向に(即ち、配置要素9を中心点Cから配置要素9が存在する方向に放射状に拡散するように)移動させる。
When the density of the
ここで、モーフィングの中心点Cは、以下に示す方法のいずれかにより決定することができる。
(1)配置要素9の重心を用いる方法
配置要素9の重心の位置をモーフィングの中心とする方法である。
即ち、各配置要素9の座標を(x1 ,y1 ),(x2 ,y2 ),…,(xM ′,yM ′)とするとき、モーフィングの中心をその重心、
Here, the center point C of the morphing can be determined by any of the following methods.
(1) Method using the center of gravity of the
That is, when the coordinates of each
とする方法である。
(2)配置要素9の数に基づいた方法
配置領域10の各帯状領域において、帯状領域のX軸に垂直な線であってこの線の両側に位置する配置要素9の数が等しくなるような線(X軸に垂直な線で配置要素数をX方向に二等分する線)と、帯状領域のY軸に垂直な線であってこの線の両側に位置する配置要素9の数が等しくなるような線(Y軸に垂直な線で配置要素数をY方向に二等分する線)を決定する。そして、これら二つの線の交点をモーフィングの中心とする方法である。
It is a method.
(2) Method based on the number of
(3)配置要素9の面積に基づいた方法
配置領域10の各帯状領域において、帯状領域のX軸に垂直な線であってこの線の両側に位置する配置要素9の面積が等しくなるような線(X軸に垂直な線で配置要素の総面積をX方向に二等分する線)と、帯状領域のY軸に垂直な線であってこの線の両側に位置する配置要素9の面積が等しくなるような線(Y軸に垂直な線で配置要素の総面積をY方向に二等分する線)を決定する。そして、これら二つの線の交点をモーフィングの中心とする方法である。
(3) Method Based on Area of
即ち、第2アルゴリズム実行ステップでは、中間配置状態にある上記複数の配置要素9に関する情報(配置要素9の重心,総数,総面積等)に基づいて中心点Cを決定し、上記複数の配置要素9のうちの少なくとも一つの配置要素9を中心点Cから離隔した場所へと移動させることにより、モーフィングのアナロジーが適用されたアルゴリズムを実行しているのである。
That is, in the second algorithm execution step, a center point C is determined based on information (the centroid, total number, total area, etc. of the arrangement elements 9) regarding the plurality of
そして、上記複数の配置要素9を配置する配置領域10を複数の帯状領域(又は部分領域10a)に分割したときには、第2アルゴリズム実行ステップでは、当該帯状領域毎に中心点Cを決定し、当該帯状領域内において、当該帯状領域内に含まれる上記複数の配置要素9の少なくとも一つの配置要素9を上記中心点Cから離隔した場所へと移動させている。
When the
ここで、配置要素9の移動量の決め方を以下に示す。
(1)配置要素9の移動量の線形的拡大
モーフィングの中心点Cから配置要素9の中心までの距離に比例させて(即ち線形に)、この中心点Cから当該配置要素9の方向に向かって配置要素9を移動させる。
即ち、第2アルゴリズム実行ステップでは、上記複数の配置要素9の少なくとも一つの配置要素9を中心点Cから離隔した場所へと移動させる際に、中心点Cから移動対象となる配置要素9までの距離を線形的に拡大することができる。
Here, how to determine the movement amount of the
(1) Linear expansion of the movement amount of the
That is, in the second algorithm execution step, when moving at least one of the plurality of
(2)配置要素9の移動量の非線形的拡大
モーフィングの中心点Cから当該配置要素9の方向に向かって配置要素9を移動させるときに、移動させる距離はこの中心点Cから配置要素9の中心までの距離に応じた非線形な関数で定義されている。
具体的には、中心点Cの近傍は配置要素9の疎密が大きいことから、中心点近傍の配置要素9の移動量を大きくする一方、分割された帯状領域(又は部分領域10a)の内部で配置要素9を移動させるために、当該帯状領域の境界近傍の配置要素9の移動量はより小さくするようにする。
(2) Non-linear expansion of the movement amount of the
Specifically, since the
即ち、第2アルゴリズム実行ステップでは、上記複数の配置要素9の少なくとも一つの配置要素9を中心点Cから離隔した場所へと移動させる際に、中心点Cから移動対象となる配置要素9までの距離を非線形的に拡大することもできる。
このようなモーフィングのアナロジーが適用されたアルゴリズムを用いて局所的疎密解消法(LO)を実行しても、上述した第1実施形態の場合と同様の利点を得ることができる。
That is, in the second algorithm execution step, when moving at least one of the plurality of
Even when the local sparse / dense elimination method (LO) is executed using an algorithm to which such a morphing analogy is applied, the same advantages as those in the first embodiment described above can be obtained.
また、第2アルゴリズム実行ステップが、配置要素9を中心点Cから離隔した場所へと移動させる際に、中心点Cから移動対象となる配置要素9までの距離を線形的に拡大したり、中心点Cから移動対象となる配置要素9までの距離を非線形的に拡大したりできるので、処理できる配置最適化問題の範囲を拡大することができる。
なお、この第1実施形態の変形例にかかる配置最適化問題処理方法においても、配置要素9の疎密を解消する際に、第1実施形態にて説明したように、逐次添加法を用いたり、固定配置要素や大きな配置要素を考慮したり、配置要素9を一挙に移動させたり、徐々に移動させたりすることができる。
Further, when the second algorithm execution step moves the
Even in the placement optimization problem processing method according to the modification of the first embodiment, when eliminating the density of the
(b4)第2実施形態の説明
本発明の第2実施形態にかかる配置最適化問題処理方法について説明する。
第2実施形態にかかる配置最適化問題処理方法は、上記第1アルゴリズム実行ステップ(図2のステップS3)において、遺伝的アルゴリズム(GAp)を実行し、第2アルゴリズム実行ステップ(図2のステップS4)において、局所的疎密解消アルゴリズムとして、第1実施形態にて前述した流体力学のアナロジーが適用されたアルゴリズムを実行するものである。
(B4) Description of Second Embodiment An arrangement optimization problem processing method according to the second embodiment of the present invention will be described.
In the placement optimization problem processing method according to the second embodiment, the genetic algorithm (GAp) is executed in the first algorithm execution step (step S3 in FIG. 2), and the second algorithm execution step (step S4 in FIG. 2). ), An algorithm to which the analogy of fluid dynamics described above in the first embodiment is applied is executed as a local sparse / dense elimination algorithm.
ここで、第2実施形態にて実行される遺伝的アルゴリズム(GAp)は、局所的疎密解消法(LO)において配置領域10を分割する幅を最適化するための遺伝的アルゴリズムである。
即ち、第2実施形態にかかる配置最適化問題処理方法は、局所的疎密解消法(LO)のパラメータである配置領域10を分割する幅のリストからなる各染色体に遺伝的アルゴリズム(GAp)を適用することにより、配置領域10の分割を最適化して、効率的に配置要素9の疎密を解消しようとするものである。
Here, the genetic algorithm (GAp) executed in the second embodiment is a genetic algorithm for optimizing the width of dividing the
That is, the placement optimization problem processing method according to the second embodiment applies the genetic algorithm (GAp) to each chromosome consisting of a list of widths that divide the
換言すれば、この方法は、配置領域10の分割法を最適にするために、与えられた配置を初期配置として、局所的疎密解消法(LO)におけるパラメータ(配置領域10の横幅)を遺伝的アルゴリズム(GAp)で最適化することにより、疎密の解消を効率的に実施する方法である。
なお、この配置最適化問題処理方法は、GAp+LOと表記することができる。
In other words, in this method, in order to optimize the division method of the
This placement optimization problem processing method can be expressed as GAp + LO.
つまり、第2実施形態では、上記第1アルゴリズム実行ステップが、上記第2アルゴリズム実行ステップにおいて実行される局所的疎密解消アルゴリズムにて用いられるパラメータを遺伝子として表現し、このパラメータを決定する問題の解候補として当該遺伝子の配列からなる染色体を用いることにより、遺伝的アルゴリズム(GAp)を実行するようになっている。 That is, in the second embodiment, the first algorithm execution step expresses a parameter used in the local sparse / dense elimination algorithm executed in the second algorithm execution step as a gene, and solves the problem of determining this parameter. A genetic algorithm (GAp) is executed by using a chromosome comprising the sequence of the gene as a candidate.
ここで、パラメータは、配置領域10を分割する幅を規定する情報(部分領域10aの大きさを規定する情報)と、その他の局所的疎密解消法(LO)の制御パラメータとからなる。
つまり、遺伝的アルゴリズム(GAp)では、部分領域10aの幅を規定する情報のリストと、その他の局所的疎密解消法(LO)の制御パラメータのリストとからなる染色体を用いている。
Here, the parameters are composed of information defining the width for dividing the arrangement region 10 (information defining the size of the
That is, in the genetic algorithm (GAp), a chromosome composed of a list of information that defines the width of the
例えば、配置領域10を縦方向に分割する場合に、帯状領域S1 ,S2 ,…,SN の幅をそれぞれW1 ,W2 ,…,WN としたときの染色体の構成を、図20に示す。ここで、幅W1 ,W2 ,…,WN の合計は、配置領域10の横幅と等しくなければならない。なお、染色体14は、その他の局所的疎密解消法の制御パラメータa1 ,a2 も遺伝子として持っている。
For example, in the case of dividing the
そして、第1アルゴリズム実行ステップでは、二つの親の染色体の遺伝子の重み付き平均を子の染色体の遺伝子とすることにより、遺伝オペレーションとしての交叉が実行される。
ここで、交叉の一例を図21に示す。図21に示すように、染色体15,16を親の染色体として確率的に選んでこれらのコピーを作り、染色体15の遺伝子と染色体16の遺伝子の適当な重みつき平均をとり、これを子の染色体17の遺伝子とすることにより交叉が実行される。
Then, in the first algorithm execution step, the weighted average of the genes of the two parent chromosomes is used as the gene of the child chromosome, so that the crossover as a genetic operation is executed.
An example of crossover is shown in FIG. As shown in FIG. 21,
なお、図21において、W1 〜W4 …,M1 〜M4 …,Z1 〜Z4 …は、帯状領域S1 ,S2 ,…,SN の幅を示しており、a1 …,b1 …,c1 …は、その他の局所的疎密解消法(LO)の制御パラメータを示している。
ここで、
Zi =(Wi +Mi )/2 …(4)
ci =(ai +bi )/2 …(5)
である。
Incidentally, in FIG. 21, W 1 ~W 4 ...,
here,
Z i = (W i + M i ) / 2 (4)
c i = (a i + b i ) / 2 (5)
It is.
このほか、第1アルゴリズム実行ステップでは、パラメータに含まれる部分領域10aの幅を規定する情報の総和が変化しないように調整しながら、染色体の一部の帯状領域を他の染色体の当該帯状領域に対応する帯状領域に張り付けることにより、遺伝オペレーションとしての交叉を実行してもよい。
例えば、一方の染色体の一部分を他方の染色体に張り付ける際に、幅W1 ,W2 ,…,WN の合計が変化しないように他方の染色体に元からある遺伝子を調整しながら交叉を実行する。なお、他方の染色体の一部分を一方の染色体に張り付ける場合も同様である。
In addition, in the first algorithm execution step, while adjusting so that the sum of the information defining the width of the
For example, when pasting a portion of one chromosome to another chromosome, the width W 1, W 2, ..., crossover while adjusting the gene from the original to the other chromosome such that the sum of W N does not change execution To do. The same applies when a part of the other chromosome is attached to one chromosome.
さらに、第1アルゴリズム実行ステップでは、染色体の少なくとも二つの遺伝子を選択し、選択した上記遺伝子に任意の数値を加えることにより、パラメータに含まれる上記部分領域10aの幅を規定する情報の総和が変化しないように調整して、遺伝オペレーションとしての突然変異が実行される。
即ち、染色体の遺伝子に小さな変化をランダムに与えることによって突然変異を起こすのであり、具体的には、選択した遺伝子のうちの一方の遺伝子に所定の数を加える一方、他方の遺伝子から所定の数を引くことにより、部分領域10aの幅を規定する情報の総和が変化しないように調整しながら、突然変異が実行される。
Further, in the first algorithm execution step, at least two genes of the chromosome are selected, and an arbitrary numerical value is added to the selected gene, thereby changing the sum of information defining the width of the
In other words, mutations are caused by randomly giving small changes to chromosomal genes. Specifically, a predetermined number is added to one of the selected genes, while a predetermined number is added from the other gene. By subtracting, mutation is executed while adjusting so that the total sum of information defining the width of the
ここで、突然変異の一例を図22に示す。図22に示すように、染色体18の任意の二つの遺伝子W3 ,W5 を選択し、遺伝子W5 に小さな正の乱数ΔWを加える一方、遺伝子W3 から当該乱数ΔWを差し引くことにより、部分領域10aの幅を規定する情報の総和が変化しないように調整しながら、染色体18を染色体18′に変化させる。なお、図22に示す例では、その他の局所的疎密解消法(LO)の制御パラメータa2 に絶対値の小さな乱数Δaを加えることによっても、染色体18に突然変異を施している。
Here, an example of the mutation is shown in FIG. As shown in FIG. 22, any two genes W 3 and W 5 of the
より一般には、染色体の任意の二つの遺伝子をWi ,Wj とし、小さな正の乱数をΔWとし、突然変異後の遺伝子をWi ′,Wj ′とすると、遺伝子Wi ′,Wj ′は以下のように表すことができる。
Wi ′=Wi −ΔW …(6)
Wj ′=Wj +ΔW …(7)
このほか、第1アルゴリズム実行ステップでは、染色体の任意のm個の遺伝子Wi1,Wi2,…,Wimを選択し、絶対値が小さな乱数をΔWi1,ΔWi2,…,ΔWimを用いて、これらの遺伝子Wi1,Wi2,…,Wimに突然変異を施して遺伝子Wi1′,Wi2′,…,Wim′を生成してもよい。
More generally, if any two genes of the chromosome are W i , W j , a small positive random number is ΔW, and the genes after mutation are W i ′, W j ′, the genes W i ′, W j 'Can be expressed as follows.
W i ′ = W i −ΔW (6)
W j ′ = W j + ΔW (7)
In addition, in the first algorithm executing step, any of the m genes W i1 chromosome, W i2, ..., select W im, [Delta] W i1 small random absolute value, [Delta] W i2, ..., using the [Delta] W im Te, these genes W i1, W i2, ..., gene W i1 subjected to a mutation in the W im ', W i2', ..., may generate the W im '.
このとき、遺伝子Wi1′,Wi2′,…,Wim′は以下のように表すことができる。
Wik′=Wik+ΔWik
但し、ΔWi1+ΔWi2+…+ΔWim=0 …(8)
このように、第2実施形態においては、第1アルゴリズム実行ステップでは、遺伝的アルゴリズム(GAp)を実行することにより、配置領域10の分割幅の最適値の候補(最適幅の候補)が複数求められる。
At this time, genes W i1 ′, W i2 ′,..., W im ′ can be expressed as follows.
W ik ′ = W ik + ΔW ik
However, ΔW i1 + ΔW i2 +... + ΔW im = 0 (8)
As described above, in the second embodiment, in the first algorithm execution step, a plurality of optimal value candidates (optimum width candidates) for the division width of the
その後、第2アルゴリズム実行ステップでは、第1アルゴリズム実行ステップにて得られた複数の最適幅の候補によりそれぞれ配置領域10を分割して、局所的疎密解消法(LO)を実行することにより、初期配置状態にある上記複数の配置要素9の疎密の解消が試みられる。
そして、第2実施形態においては、再度、第1アルゴリズム実行ステップでの処理に戻り、第1アルゴリズム実行ステップでは、以下のように定義された適応度値関数(即ち、上記複数の配置要素9の疎密を小さくできるような染色体が大きな適応度値をとりうるような適応度値関数)を用いて、遺伝オペレーションとしての選択が実行され、最も疎密が解消された配置結果としての染色体が選択される。
Thereafter, in the second algorithm execution step, the
In the second embodiment, the process returns to the first algorithm execution step again. In the first algorithm execution step, the fitness value function defined as follows (that is, the plurality of arrangement elements 9) Selection as a genetic operation is performed using a fitness value function that allows a chromosome that can reduce sparseness to have a large fitness value), and a chromosome as a placement result that is least sparsely sparse is selected. .
適応度値=定数−(配置要素密度の最大値−配置要素密度の最小値)…(9)
適応度値=定数−(配置要素密度が平均配置要素密度以下である配置領域の面積) …(10)
適応度値=定数−(配置要素密度が平均配置要素密度以上である配置領域の面積) …(11)
つまり、これらの適応度値関数を用いて、局所的疎密解消法(LO)を改善し、結果として、配置要素9の疎密解消を改善することが可能になる。
Fitness value = constant− (maximum arrangement element density−minimum arrangement element density) (9)
Fitness value = constant− (area of arrangement area where arrangement element density is below average arrangement element density) (10)
Fitness value = constant− (area of arrangement area where arrangement element density is greater than or equal to average arrangement element density) (11)
In other words, using these fitness value functions, it is possible to improve the local sparse / dense cancellation method (LO) and, as a result, improve the sparse / dense cancellation of the
即ち、第2実施形態にかかる配置最適化問題処理方法においては、第1アルゴリズム実行ステップと第2アルゴリズム実行ステップとを組み合わせて実行することにより、局所的疎密解消アルゴリズムを実行する際に用いるパラメータである分割幅の最適値を求めることを通して、初期配置状態にある上記複数の配置要素9の疎密が解消される。
これにより、上記複数の配置要素9を配置領域10に最適な状態で配置する配置最適化問題を処理することができる。
That is, in the layout optimization problem processing method according to the second embodiment, the parameters used when executing the local sparse / dense elimination algorithm are executed by combining the first algorithm execution step and the second algorithm execution step. By obtaining the optimum value of a certain division width, the density of the plurality of
Thereby, the arrangement optimization problem of arranging the plurality of
このように、本発明の第2実施形態にかかる配置最適化問題処理方法によれば、遺伝的アルゴリズム(GAp)により配置領域10の分割を最適化しているので、効率的に配置要素9の疎密を解消することができる。
また、遺伝的アルゴリズム(GAp)を実行して得られた各染色体により指定される種々の幅で複数の配置領域10を分割して、複数の配置領域10に異なる局所的疎密解消法(LO)を適用し、最適な局所的疎密解消法(LO)を見つけているので、配置領域10の最適な分割法を探索することができる。
As described above, according to the layout optimization problem processing method according to the second embodiment of the present invention, the division of the
Further, a plurality of
なお、以下に説明するようにして、上記第1アルゴリズム実行ステップが、遺伝的アルゴリズム(GAp)を実行している中で、第2アルゴリズム実行ステップが、局所的疎密解消アルゴリズムを実行することにより、遺伝的アルゴリズム(GAp)と局所的疎密解消法(LO)とを組み合わせることもできる。
このときの配置最適化問題処理装置1の動作を、図23に示すフローチャートを用いて説明する。
As described below, while the first algorithm execution step executes the genetic algorithm (GAp), the second algorithm execution step executes the local sparse / dense elimination algorithm, It is also possible to combine a genetic algorithm (GAp) and a local sparse / dense elimination method (LO).
The operation of the arrangement optimization
まず、配置最適化問題処理装置1に、上記複数の配置要素9の初期配置結果(初期配置状態に関する情報)が入力される(ステップB1)。
この配置要素9の初期配置結果が入力されると、配置最適化問題処理装置1では、上記第1アルゴリズム実行ステップにより、局所的疎密解消法(LO)のパラメータを遺伝子とする染色体の集団が準備される(ステップB2)。
First, the initial optimization result (information regarding the initial arrangement state) of the plurality of
When the initial arrangement result of the
続いて、第2アルゴリズム実行ステップでは、各染色体に対応する局所的疎密解消法(LO)にて疎密の解消が試みられ〔即ち、それぞれの染色体により指定される幅で複数の配置領域10を分割して、各配置領域10毎に局所的疎密解消法(LO)にて疎密の解消が試みられ〕、適応度値が計算される(ステップB3)。なお、局所的疎密解消法(LO)は、流体力学のアナロジーが適用されたアルゴリズムを用いて実行される。
Subsequently, in the second algorithm execution step, the local density cancellation method (LO) corresponding to each chromosome tries to eliminate the density [that is, the plurality of
その後、第1アルゴリズム実行ステップでは、各染色体に対して、遺伝オペレーションとしての交叉及び突然変異が施され(ステップB4,B5)、最高の適応度値をもつ染色体(最適な染色体)の適応度値が所定の基準値以上であるか、又は、最高の適応度値をもつ染色体により決定される幅で配置領域10を分割して局所的疎密解消法(LO)を実行した場合に、配置要素9の疎密解消結果は満足できるものであるかが判断される(ステップB6)。
Thereafter, in the first algorithm execution step, each chromosome is subjected to crossover and mutation as genetic operations (steps B4 and B5), and the fitness value of the chromosome having the highest fitness value (optimal chromosome) is obtained. Is equal to or greater than a predetermined reference value, or when the
そして、最適な染色体の適応度値が所定の基準値以上でない、又は、配置要素9の疎密解消結果は満足できるものでないと判断された場合には、上記ステップB3以降の処理を繰り返し(ステップB6のNOルート)、最適な染色体の適応度値が所定の基準値以上である、又は、配置要素9の疎密解消結果は満足できるものであると判断された場合には、そのときの配置要素9の配置結果が配置最適化問題の解として出力されて、配置最適化問題処理装置1での処理が終了する(ステップB6のYESルート)。
When it is determined that the optimal fitness value of the chromosome is not equal to or greater than a predetermined reference value, or the result of the sparse / dense elimination of the
このようにしても、上述したものと同様の利点を得ることができる。
なお、この第2実施形態にかかる配置最適化問題処理方法においても、配置要素9の疎密を解消する際に、第1実施形態にて説明したように、逐次添加法を用いたり、固定配置要素や大きな配置要素を考慮したり、配置要素9を一挙に移動させたり、徐々に移動させたりすることができる。
Even if it does in this way, the same advantage as what was mentioned above can be acquired.
Also in the layout optimization problem processing method according to the second embodiment, when eliminating the sparseness of the
(b5)第2実施形態の変形例の説明
なお、上述した第2実施形態においては、第2アルゴリズム実行ステップが、局所的疎密解消法(LO)を実行する際に、局所的疎密解消アルゴリズムとして、流体力学のアナロジーが適用されたアルゴリズムを用いる場合について説明したが、前述した第1実施形態の変形例の場合と同様に、第2アルゴリズム実行ステップは、局所的疎密解消アルゴリズムとして、前述したモーフィングのアナロジーが適用されたアルゴリズムを用いることもできる。
(B5) Description of Modified Example of Second Embodiment In the second embodiment described above, when the second algorithm execution step executes the local sparse / dense elimination method (LO), the local sparse / dense elimination algorithm is used. As described above, the case where an algorithm to which an analogy of fluid dynamics is applied has been described. As in the case of the modified example of the first embodiment described above, the second algorithm execution step is performed as the above-described morphing as a local sparse / dense elimination algorithm. An algorithm to which the analogy is applied can also be used.
このように、モーフィングのアナロジーが適用されたアルゴリズムを用いて局所的疎密解消法(LO)を実行しても、上述した第2実施形態の場合と同様の利点を得ることができる。
この場合も、配置要素9の疎密を解消する際に、第1実施形態にて説明したように、逐次添加法を用いたり、固定配置要素や大きな配置要素を考慮したり、配置要素9を一挙に移動させたり、徐々に移動させたりすることができるのは言うまでもない。
As described above, even when the local sparse / dense elimination method (LO) is executed using the algorithm to which the morphing analogy is applied, the same advantages as those of the second embodiment described above can be obtained.
Also in this case, when the density of the
(b6)第3実施形態の説明
本発明の第3実施形態にかかる配置最適化問題処理方法について説明する。
第3実施形態にかかる配置最適化問題処理方法は、上記第1アルゴリズム実行ステップ(図2のステップS3)において、遺伝的アルゴリズム(GAp)を実行している中で、更に、第1アルゴリズム実行ステップが遺伝的アルゴリズム(GAc)を実行するとともに、第2アルゴリズム実行ステップ(図2のステップS4)が局所的疎密解消アルゴリズムを実行することにより、遺伝的アルゴリズム(GAp,GAc)と局所的疎密解消法(LO)とを組み合わせるものである。
(B6) Description of Third Embodiment A placement optimization problem processing method according to the third embodiment of the present invention will be described.
In the layout optimization problem processing method according to the third embodiment, the genetic algorithm (GAp) is being executed in the first algorithm execution step (step S3 in FIG. 2). Executes the genetic algorithm (GAc) and the second algorithm execution step (step S4 in FIG. 2) executes the local sparse / dense elimination algorithm, so that the genetic algorithm (GAp, GAc) and the local sparse / dense elimination method are executed. (LO).
即ち、第3実施形態にかかる配置最適化問題処理方法は、遺伝的アルゴリズム(GAp)で最適解を求める際に、各世代の終了毎又は複数世代の終了毎に遺伝的アルゴリズム(GAc)を実行するとともに、更に、この遺伝的アルゴリズム(GAc)の実行中に局所的疎密解消法(LO)を実施するものである。
つまり、この方法は、遺伝的アルゴリズム(GAp)の内側に、遺伝的アルゴリズム(GAc)と局所的疎密解消法(LO)とを挿入したものであり、GAp+(GAc+LO)と表記することができる。
In other words, the layout optimization problem processing method according to the third embodiment executes the genetic algorithm (GAc) at the end of each generation or at the end of multiple generations when obtaining an optimal solution using the genetic algorithm (GAp). In addition, a local sparse / dense elimination method (LO) is performed during the execution of the genetic algorithm (GAc).
That is, in this method, the genetic algorithm (GAc) and the local sparse / dense elimination method (LO) are inserted inside the genetic algorithm (GAp), and can be expressed as GAp + (GAc + LO).
このときの配置最適化問題処理装置1の動作を、図24に示すフローチャートを用いて説明する。
まず、配置最適化問題処理装置1に、上記複数の配置要素9の初期配置結果(初期配置状態に関する情報)が入力される(ステップC1)。
この配置要素9の初期配置結果が入力されると、配置最適化問題処理装置1では、上記第1アルゴリズム実行ステップにより、局所的疎密解消法(LO)のパラメータを遺伝子とする、遺伝的アルゴリズム(GAp)の染色体の集団が準備される(ステップC2)。
The operation of the arrangement optimization
First, the initial optimization result (information regarding the initial arrangement state) of the plurality of
When the initial placement result of the
続いて、第1アルゴリズム実行ステップでは、各染色体に対して、遺伝的アルゴリズム(GAp)における遺伝オペレーションである交叉及び突然変異が施される(ステップC3,C4)。
そして、この遺伝的アルゴリズム(GAp)の実行中に、更に第1アルゴリズム実行ステップにより、遺伝的アルゴリズム(GAc)が実行されるとともに、第2アルゴリズム実行ステップにより、局所的疎密解消アルゴリズムが実行される(ステップC5〜C12)。
Subsequently, in the first algorithm execution step, crossover and mutation, which are genetic operations in the genetic algorithm (GAp), are performed on each chromosome (steps C3 and C4).
During the execution of the genetic algorithm (GAp), the genetic algorithm (GAc) is further executed by the first algorithm execution step, and the local sparse / dense elimination algorithm is executed by the second algorithm execution step. (Steps C5 to C12).
即ち、第1アルゴリズム実行ステップでは、上記ステップC1で取得した配置要素9の初期配置結果のコピーを作ることにより、遺伝的アルゴリズム(GAc)の染色体の集団が準備される(ステップC5)。
そして、遺伝的アルゴリズム(GAp)の複数の染色体により指定される配置領域10の分割法により〔即ち、遺伝的アルゴリズム(GAp)の複数の染色体により指定される幅で〕、複数の遺伝的アルゴリズム(GAc)の染色体である配置領域10がそれぞれ分割される(ステップC6)。
That is, in the first algorithm execution step, a population of chromosomes of the genetic algorithm (GAc) is prepared by making a copy of the initial placement result of the
A plurality of genetic algorithms (by a width specified by a plurality of chromosomes of the genetic algorithm (GAp)) are divided by the division method of the
さらに、第1アルゴリズム実行ステップでは、各染色体に対して、遺伝的アルゴリズム(GAc)における遺伝オペレーションである交叉及び突然変異が施される(ステップC7,C8)。
その後、第2アルゴリズム実行ステップでは、各染色体(各配置結果)に対して、配置領域10の分割方法は同じであるがその他の制御パラメータが異なる局所的疎密解消法(LO)が実行されて、配置結果の疎密の解消が試みられる(ステップC9)。なお、局所的疎密解消法(LO)は、流体力学のアナロジーが適用されたアルゴリズム、又は、モーフィングのアナロジーが適用されたアルゴリズムを用いて実行される。
Further, in the first algorithm execution step, crossover and mutation, which are genetic operations in the genetic algorithm (GAc), are performed on each chromosome (steps C7 and C8).
Thereafter, in the second algorithm execution step, for each chromosome (each placement result), a local sparse / dense elimination method (LO) in which the division method of the
さらに、第1アルゴリズム実行ステップでは、各染色体に対して、遺伝的アルゴリズム(GAc)における遺伝オペレーションである選択が施された後に(ステップC10)、遺伝的アルゴリズム(GAc)を行なうように定められた世代数を超えたかが判断される(ステップC11)。
そして、定められた世代数を超えていないと判断された場合〔即ち、まだ定められた世代数分の遺伝的アルゴリズム(GAc)が実行されていないと判断された場合〕には、上記ステップC7以降の処理を繰り返し(ステップC11のNOルート)、定められた世代数を超えたと判断された場合〔即ち、定められた世代数分の遺伝的アルゴリズム(GAc)が実行されたと判断された場合〕には、遺伝的アルゴリズム(GAc)での最適な染色体の持つ適応度値が、遺伝的アルゴリズム(GAp)の染色体の持つ適応度値とされる(ステップC11のYESルートからステップC12)。
Further, in the first algorithm execution step, it is determined that the genetic algorithm (GAc) is performed on each chromosome after selection that is a genetic operation in the genetic algorithm (GAc) is performed (step C10). It is determined whether the number of generations has been exceeded (step C11).
If it is determined that the predetermined number of generations has not been exceeded (that is, if it is determined that the genetic algorithm (GAc) for the predetermined number of generations has not yet been executed), step C7 is performed. When the subsequent processing is repeated (NO route of step C11), when it is determined that the predetermined number of generations has been exceeded (that is, when it is determined that the genetic algorithm (GAc) for the predetermined number of generations has been executed) The fitness value of the optimal chromosome in the genetic algorithm (GAc) is set as the fitness value of the chromosome of the genetic algorithm (GAp) (from the YES route in step C11 to step C12).
その後、第1アルゴリズム実行ステップでは、再度遺伝的アルゴリズム(GAp)の実行に戻り、各染色体に対して、遺伝的アルゴリズム(GAp)における遺伝オペレーションである選択が施され(ステップC13)、最高の適応度値をもつ染色体(最適な染色体)の適応度値が所定の基準値以上であるか、又は、配置結果の疎密が解消されたかどうかが判断される(ステップC14)。 Thereafter, in the first algorithm execution step, the process returns to the execution of the genetic algorithm (GAp) again, and each chromosome is subjected to selection that is a genetic operation in the genetic algorithm (GAp) (step C13). It is determined whether the fitness value of the chromosome having the degree value (optimal chromosome) is equal to or greater than a predetermined reference value or whether the arrangement result has been eliminated (step C14).
そして、最適な染色体の適応度値が所定の基準値以上でない、又は、配置結果の疎密が解消されていないと判断された場合には、上記ステップC3以降の処理を繰り返し(ステップC14のNOルート)、最適な染色体の適応度値が所定の基準値以上である、又は、配置結果の疎密が解消されていると判断された場合には、その最適な染色体が配置最適化問題の解として出力されて、配置最適化問題処理装置1での処理が終了する(ステップC14のYESルート)。
If it is determined that the optimal fitness value of the chromosome is not equal to or greater than a predetermined reference value, or the arrangement result is not resolved, the process after step C3 is repeated (NO route of step C14). ) If it is determined that the optimal fitness value of the chromosome is equal to or higher than a predetermined reference value or the density of the arrangement result has been eliminated, the optimal chromosome is output as a solution to the arrangement optimization problem. Then, the processing in the placement optimization
このように、本発明の第3実施形態にかかる配置最適化問題処理方法によれば、前述した各実施形態と同様の効果を得ることができるほか、遺伝的アルゴリズム(GAp)の実行中に、遺伝的アルゴリズム(GAc)と局所的疎密解消法(LO)とを組み合わせて実行しているので、遺伝的アルゴリズム(GAp)の更なる高速化を実現することができる。 As described above, according to the layout optimization problem processing method according to the third embodiment of the present invention, it is possible to obtain the same effect as each of the embodiments described above, and during the execution of the genetic algorithm (GAp), Since the genetic algorithm (GAc) and the local sparse / dense elimination method (LO) are combined and executed, the genetic algorithm (GAp) can be further increased in speed.
(b7)第4実施形態の説明
本発明の第4実施形態にかかる配置最適化問題処理方法について説明する。
第4実施形態にかかる配置最適化問題処理方法は、上記第1アルゴリズム実行ステップ(図2のステップS3)において、遺伝的アルゴリズム(GAc)を実行している中で、更に、第1アルゴリズム実行ステップが遺伝的アルゴリズム(GAp)を実行するとともに、第2アルゴリズム実行ステップが局所的疎密解消アルゴリズムを実行することにより、遺伝的アルゴリズム(GAp,GAc)と局所的疎密解消法(LO)とを組み合わせるものである。
(B7) Description of Fourth Embodiment A placement optimization problem processing method according to the fourth embodiment of the present invention will be described.
In the layout optimization problem processing method according to the fourth embodiment, the genetic algorithm (GAc) is being executed in the first algorithm execution step (step S3 in FIG. 2). Executes the genetic algorithm (GAp) and the second algorithm execution step executes the local sparse / dense elimination algorithm, thereby combining the genetic algorithm (GAp, GAc) and the local sparse / dense elimination (LO). It is.
即ち、第4実施形態にかかる配置最適化問題処理方法は、遺伝的アルゴリズム(GAc)で最適解を求める際に、各世代の終了毎又は複数世代の終了毎に遺伝的アルゴリズム(GAp)を実行するとともに、更に、この遺伝的アルゴリズム(GAp)の実行中に局所的疎密解消法(LO)を実施するものである。
つまり、この方法は、第2実施形態にて前述したように遺伝的アルゴリズム(GAp)と局所的疎密解消法(LO)とを組み合わせて実行することにより、配置領域10の分割幅を最適化し、この分割幅で分割された配置領域10を遺伝的アルゴリズム(GAc)の染色体として用いて遺伝的アルゴリズム(GAc)を実行し、更に効率的に解を探索するものである。
That is, the layout optimization problem processing method according to the fourth embodiment executes the genetic algorithm (GAp) at the end of each generation or at the end of multiple generations when obtaining an optimal solution by the genetic algorithm (GAc). In addition, a local sparse / dense cancellation method (LO) is performed during the execution of the genetic algorithm (GAp).
That is, this method optimizes the division width of the
なお、この配置最適化問題処理方法は、GAc+(GAp+LO)と表記することができる。
このときの配置最適化問題処理装置1の動作を、図25に示すフローチャートを用いて説明する。
まず、配置最適化問題処理装置1に、上記複数の配置要素9の初期配置結果(初期配置状態に関する情報)が入力される(ステップD1)。
This placement optimization problem processing method can be expressed as GAc + (GAp + LO).
The operation of the arrangement optimization
First, the initial optimization result (information on the initial arrangement state) of the plurality of
配置要素9の初期配置結果が入力されると、配置最適化問題処理装置1では、上記第1アルゴリズム実行ステップにより、初期配置結果のコピーを作ることにより遺伝的アルゴリズム(GAc)の染色体の集団が準備される(ステップD2)。
そして、この遺伝的アルゴリズム(GAc)の実行中に、更に第1アルゴリズム実行ステップにより、遺伝的アルゴリズム(GAp)が実行されるとともに、第2アルゴリズム実行ステップにより、局所的疎密解消アルゴリズムが実行される(ステップD3〜D9)。
When the initial placement result of the
During execution of the genetic algorithm (GAc), the genetic algorithm (GAp) is further executed by the first algorithm execution step, and the local sparse / dense elimination algorithm is executed by the second algorithm execution step. (Steps D3 to D9).
即ち、上記第1アルゴリズム実行ステップでは、局所的疎密解消法(LO)のパラメータを遺伝子とする、遺伝的アルゴリズム(GAp)の染色体の集団が準備される(ステップD3)。
続いて、第1アルゴリズム実行ステップでは、各染色体に対して、遺伝的アルゴリズム(GAp)における遺伝オペレーションである交叉及び突然変異が施される(ステップD4,D5)。
That is, in the first algorithm execution step, a population of chromosomes of the genetic algorithm (GAp) using the parameters of the local sparse / dense elimination method (LO) as genes is prepared (step D3).
Subsequently, in the first algorithm execution step, crossover and mutation, which are genetic operations in the genetic algorithm (GAp), are performed on each chromosome (steps D4 and D5).
そして、第2アルゴリズム実行ステップでは、各染色体により表される分割幅で配置領域10を分割して、局所的疎密解消法(LO)を実行することにより、疎密の解消が試みられ、局所的疎密解消法(LO)の結果に基づいて適応度値が計算される(ステップD6)。なお、局所的疎密解消法(LO)は、流体力学のアナロジーが適用されたアルゴリズム、又は、モーフィングのアナロジーが適用されたアルゴリズムを用いて実行される。
Then, in the second algorithm execution step, the
さらに、第1アルゴリズム実行ステップでは、各染色体に対して、遺伝的アルゴリズム(GAp)における遺伝オペレーションである選択を施して、大きな適応度値をもつ染色体が選ばれる(ステップD7)。その後、遺伝的アルゴリズム(GAp)を行なうように定められた世代数を超えたかが判断される(ステップD8)。
そして、定められた世代数を超えていないと判断された場合〔即ち、まだ定められた世代数分の遺伝的アルゴリズム(GAp)が実行されていないと判断された場合〕には、上記ステップD4以降の処理を繰り返し(ステップD8のNOルート)、定められた世代数を超えたと判断された場合〔即ち、定められた世代数分の遺伝的アルゴリズム(GAp)が実行されたと判断された場合〕には、上記ステップD7で選ばれた染色体が、遺伝的アルゴリズム(GAp)での最適な染色体であると決定される(ステップD8のYESルートからステップD9)。
Furthermore, in the first algorithm execution step, a selection that is a genetic operation in the genetic algorithm (GAp) is performed on each chromosome, and a chromosome having a large fitness value is selected (step D7). Thereafter, it is determined whether the number of generations determined to perform the genetic algorithm (GAp) has been exceeded (step D8).
When it is determined that the predetermined number of generations has not been exceeded (that is, when it is determined that the genetic algorithm (GAp) for the predetermined number of generations has not yet been executed), the above step D4 When the subsequent processing is repeated (NO route of step D8), when it is determined that the predetermined number of generations has been exceeded (that is, when it is determined that the genetic algorithm (GAp) for the predetermined number of generations has been executed) Is determined to be the optimal chromosome in the genetic algorithm (GAp) (from the YES route in step D8 to step D9).
その後、第1アルゴリズム実行ステップでは、再度遺伝的アルゴリズム(GAc)の実行に戻り、上記ステップD9で決定された遺伝的アルゴリズム(GAp)の染色体により指定される配置領域10の分割法により〔即ち、ステップD9で決定された遺伝的アルゴリズム(GAp)の染色体により指定される幅で〕、遺伝的アルゴリズム(GAc)の染色体である配置領域10が分割される(ステップD10)。
Thereafter, in the first algorithm execution step, the process returns to the execution of the genetic algorithm (GAc) again, and by the division method of the
さらに、第1アルゴリズム実行ステップでは、各染色体に対して、遺伝的アルゴリズム(GAc)における遺伝オペレーションである交叉,突然変異及び選択が施される(ステップD11〜D13)。
そして、最高の適応度値をもつ染色体(最適な染色体)の適応度値が所定の基準値以上であるか、又は、配置結果の疎密が解消されたかどうかが判断される(ステップD14)。
Further, in the first algorithm execution step, crossover, mutation, and selection, which are genetic operations in the genetic algorithm (GAc), are performed on each chromosome (steps D11 to D13).
Then, it is determined whether the fitness value of the chromosome having the highest fitness value (optimal chromosome) is greater than or equal to a predetermined reference value or whether the arrangement result has been eliminated (step D14).
そして、最適な染色体の適応度値が所定の基準値以上でない、又は、配置結果の疎密が解消されていないと判断された場合には、上記ステップD10以降の処理を繰り返し(ステップD14のNOルート)、最適な染色体の適応度値が所定の基準値以上である、又は、配置結果の疎密が解消されていると判断された場合には、その最適な染色体が配置最適化問題の解として出力されて、配置最適化問題処理装置1での処理が終了する(ステップD14のYESルート)。
When it is determined that the optimal fitness value of the chromosome is not equal to or greater than a predetermined reference value, or the arrangement result is not resolved, the processing after step D10 is repeated (NO route of step D14). ) If it is determined that the optimal fitness value of the chromosome is equal to or higher than a predetermined reference value or the density of the arrangement result has been eliminated, the optimal chromosome is output as a solution to the arrangement optimization problem. As a result, the processing in the placement optimization
このように、本発明の第4実施形態にかかる配置最適化問題処理方法によれば、前述した各実施形態と同様の効果を得ることができるほか、遺伝的アルゴリズム(GAc)の実行中に、遺伝的アルゴリズム(GAp)と局所的疎密解消法(LO)とを組み合わせて実行しているので、遺伝的アルゴリズム(GAc)の更なる高速化を実現することができる。 As described above, according to the layout optimization problem processing method according to the fourth embodiment of the present invention, it is possible to obtain the same effect as each of the embodiments described above, and during the execution of the genetic algorithm (GAc), Since the genetic algorithm (GAp) and the local sparse / dense elimination method (LO) are executed in combination, the genetic algorithm (GAc) can be further increased in speed.
(b8)その他
上述した第1,第3,第4実施形態では、縦方向又は横方向のいずれか一方の同一方向に分割された染色体(即ち配置領域10)を用いて遺伝オペレーション(GAc)を実行する場合について説明したが、それぞれ異なる方向に分割された染色体を用いて遺伝オペレーション(GAc)を実行することもできる。
(B8) Others In the first, third, and fourth embodiments described above, the genetic operation (GAc) is performed using the chromosome (that is, the arrangement region 10) divided in the same direction in either the vertical direction or the horizontal direction. Although the case of executing is described, the genetic operation (GAc) can also be executed using chromosomes divided in different directions.
この場合に用いられるモデルをアイランドモデルといい、図26を用いてこのアイランドモデルについて説明する。
図26に示すアイランドモデルは、縦方向に分割された染色体の集団21を複数有する第1アイランド20と、横方向に分割された染色体の集団23を複数有する第2アイランド22からなる。
The model used in this case is called an island model, and this island model will be described with reference to FIG.
The island model shown in FIG. 26 includes a
なお、第1アイランド20は少なくとも一つの集団21を有していればよく、第2アイランド22は少なくとも一つの集団23を有していればよい。
つまり、第1アルゴリズム実行ステップでは、遺伝的アルゴリズム(GAc)を実行する際に、上記複数の配置要素9を配置する配置領域10を複数の部分領域10aに縦方向に分割することにより複数の帯状領域に縦方向に分割された染色体の集団21を少なくとも一つ有する第1アイランド20と、上記複数の配置要素9を配置する配置領域10を複数の部分領域10aに横方向に分割することにより複数の帯状領域に横方向に分割された染色体の集団23を少なくとも一つ有する第2アイランド22とを用いるようになっている。
The
That is, in the first algorithm execution step, when the genetic algorithm (GAc) is executed, a plurality of strips are formed by dividing the
各集団21,23は、通常は独立して遺伝的アルゴリズム(GAc)や局所的疎密解消法(LO)に基づいて発展していくが、遺伝的アルゴリズム(GAc)を適当な世代数実行する毎に、第1アイランド20の一つの集団21及び第2アイランド22の一つの集団23から何らかの方法で染色体を選択して、分割方向の異なるこれらの染色体を親の染色体として遺伝オペレーションとしての交叉を実行して、その結果生じた子の染色体をそれぞれの集団21,23へ戻すこともできる。
Each of the
このとき、分割方向の異なる染色体間の交叉は、以下のように実行することができる。
(1)交叉の第1の方法
集団21から選択した染色体は縦方向に分割されており、この染色体に局所的疎密解消法(LO)を施すと、ある特定の配置要素9は、それが属する帯状領域内で定められた方向に定められた量だけ移動する。このときの移動量をベクトルx1 ′とする。
At this time, crossing between chromosomes having different division directions can be performed as follows.
(1) First method of crossover A chromosome selected from the
一方、集団23から選択した染色体は横方向に分割されており、この染色体に局所的疎密解消法(LO)を施すと、当該特定の配置要素9は、それが属する帯状領域内で定められた方向に定められた量だけ移動する。このときの移動量をベクトルx2 ′とする。
そして、当該配置要素9の移動量を合成ベクトルx1 ′+x2 ′として求め、各親の染色体においてそれぞれ当該配置要素9をその移動量だけ移動させることにより、集団21から選択した染色体と集団23から選択した染色体との間で交叉を実行して子の染色体を生成し、生成した子の染色体をそれぞれ元の集団に戻す。
On the other hand, the chromosome selected from the
Then, the movement amount of the
即ち、第1アルゴリズム実行ステップでは、遺伝的アルゴリズム(GAc)を実行する際に、第1アイランド20に属する染色体に局所的疎密解消法(LO)を適用する一方、第2アイランド22に属する染色体に局所的疎密解消法(LO)を適用することにより、上記染色体の各領域内である特定の配置要素9を移動させる。そして、第1アイランド20に属する染色体及び第2アイランド22に属する染色体における当該特定の配置要素9の移動量のベクトル和を求め、このベクトル和に応じて上記各染色体内で当該特定の配置要素9を移動させることにより、第1アイランド20に属する染色体と第2アイランド22に属する染色体との間で、遺伝オペレーションとしての交叉が実行される。
That is, in the first algorithm execution step, when executing the genetic algorithm (GAc), the local sparse / dense elimination method (LO) is applied to the chromosome belonging to the
(2)交叉の第2の方法
集団21から選択した染色体は縦方向に分割された帯状領域を有しているが、この帯状領域を横方向に分割された帯状領域に読み替えて集団23の染色体に組み込むことにより、集団21から選択した染色体と集団23から選択した染色体との間で交叉を実行して、子の染色体を生成する。
(2) Second method of crossover The chromosome selected from the
例えば、集団21から選択した染色体における縦方向に分割されたある帯状領域に配置要素91 〜93 が含まれるとすると、まず、集団23から選択した横方向に分割された染色体において、これら配置要素91 〜93 を含む帯状領域を探し出す。
そして、横方向に分割された染色体において、これら配置要素91 〜93 を含む帯状領域を探し出した結果、配置要素91 ,92 は横方向に分割された帯状領域のうちのある帯状領域に含まれ、配置要素93 はその他の帯状領域に含まれていたとする。また、配置要素91 ,92 が含まれる帯状領域には、その他の配置要素94 も含まれていたとする。
For example, if the
Then, the chromosomes are divided laterally, the result of finding the band-like region including these layout elements 91 to 93 3, the strip-like regions certain of the
このとき、横方向に分割された染色体において、配置要素91 ,92 が含まれる帯状領域におけるその他の配置要素94 を配置要素93 と読み替えるとともに、その他の帯状領域に含まれている配置要素93 を配置要素94 と読み替えることにより、縦方向に分割された帯状領域を横方向に分割された帯状領域に読み替えることができる。
なお、同様にして、集団23から選択した染色体における帯状領域を、縦方向に分割された帯状領域に読み替えて、集団21の染色体に組み込むことにより、集団21から選択した染色体と集団23から選択した染色体との間で交叉を実行してもよい。
At this time, the chromosomes are divided laterally, the arrangement with read as
Similarly, the band-like region in the chromosome selected from the
即ち、第1アルゴリズム実行ステップでは、遺伝的アルゴリズム(GAc)を実行する際に、第1アイランド20(又は第2アイランド22)に属する染色体における特定の配置要素9を含む帯状領域を抽出し、抽出した帯状領域を第2アイランド22(又は第1アイランド20)に属する染色体における帯状領域に読み替えて第2アイランド22(又は第1アイランド20)に戻すことにより、第1アイランド20に属する染色体と第2アイランド22に属する染色体との間で、遺伝オペレーションとしての交叉が実行される。
That is, in the first algorithm execution step, when executing the genetic algorithm (GAc), a band-like region including a
このときの配置最適化問題処理装置1の動作を、図27に示すフローチャートを用いて説明する。
まず、配置最適化問題処理装置1に、上記複数の配置要素9の初期配置結果(初期配置状態に関する情報)が入力される(ステップE1)。
この配置要素9の初期配置結果が入力されると、配置最適化問題処理装置1では、上記第1アルゴリズム実行ステップにより、初期配置結果のコピーを作ることにより遺伝的アルゴリズム(GAc)の染色体の集団がN個準備される(ステップE2)。
The operation of the arrangement optimization
First, the initial optimization result (information on the initial arrangement state) of the plurality of
When the initial placement result of the
次に、第1アルゴリズム実行ステップでは、N個の集団をα個の集団とβ個の集団にわけ(即ち、α+β=N)、α個の集団の染色体は縦方向に分割する一方、β個の集団の染色体は横方向に分割することにより、縦方向に分割された染色体の集合21をα個有する第1アイランド20と、横方向に分割された染色体の集合23をβ個有する第2アイランド22とを形成する(ステップE3)。
Next, in the first algorithm execution step, the N populations are divided into α populations and β populations (that is, α + β = N), and the chromosomes of the α populations are divided vertically, while β The
そして、第1アルゴリズム実行ステップでは、各集団21,23毎に、独立して遺伝的アルゴリズム(GAc)を実行する(ステップE4)。
この遺伝的アルゴリズム(GAc)の実行中には、定められた世代数が経過する毎に、同一方向に分割された染色体をもつ集団間での交叉が実施される(ステップE5)。即ち、第1アイランド20内では、ある集団21の染色体と他の集団21の染色体との間で交叉が実行される一方、第2アイランド22内では、ある集団23の染色体と他の集団23の染色体との間で交叉が実行される。
In the first algorithm execution step, the genetic algorithm (GAc) is executed independently for each of the
During execution of this genetic algorithm (GAc), every time a predetermined number of generations elapse, crossover is performed between populations having chromosomes divided in the same direction (step E5). That is, in the
さらに、定められた世代数が経過する毎に、異なる方向に分割された染色体をもつ集団間での交叉が実施される(ステップE6)。即ち、第1アイランド20に属する集団21の染色体と、第2アイランド22に属する集団23の染色体との間で交叉が実行される。なお、この際、各染色体に局所的疎密解消法(LO)も適用される。
そして、最高の適応度値をもつ染色体(最適な染色体)の適応度値が所定の基準値以上であるか、又は、配置結果の疎密が解消されたかどうかが判断される(ステップE7)。
Further, every time a predetermined number of generations elapses, crossover between groups having chromosomes divided in different directions is performed (step E6). That is, crossover is performed between the chromosomes of the
Then, it is determined whether the fitness value of the chromosome having the highest fitness value (optimal chromosome) is greater than or equal to a predetermined reference value, or whether the arrangement result has been eliminated (step E7).
そして、最適な染色体の適応度値が所定の基準値以上でない、又は、配置結果の疎密が解消されていないと判断された場合には、上記ステップE4以降の処理を繰り返し(ステップE7のNOルート)、最適な染色体の適応度値が所定の基準値以上である、又は、配置結果の疎密が解消されていると判断された場合には、その最適な染色体が配置最適化問題の解として出力されて、配置最適化問題処理装置1での処理が終了する(ステップE7のYESルート)。
If it is determined that the optimal fitness value of the chromosome is not equal to or greater than a predetermined reference value or the density of the arrangement result is not eliminated, the processing after step E4 is repeated (NO route of step E7). ) If it is determined that the optimal fitness value of the chromosome is equal to or higher than a predetermined reference value or the density of the arrangement result has been eliminated, the optimal chromosome is output as a solution to the arrangement optimization problem. Then, the processing in the placement optimization
このように、異なる方向に分割された染色体をもつ集団間での交叉を実施するアイランドモデルを採用すれば、集団21,23における解候補となる染色体の多様性を保持することができるので、最適解を効率的に探索することができ、配置要素9の疎密の解消をより効率的に行なうことができる。
さらに、上述した第1〜第4実施形態では、遺伝的アルゴリズム(GAc,GAp)を実行する中で局所的疎密解消法(LO)を実行する際に、第2アルゴリズム実行ステップが、それぞれ固定のアルゴリズム(流体力学のアナロジーが適用されたアルゴリズム、及び、モーフィングのアナロジーが適用されたアルゴリズム)を用いる場合について説明したが、世代毎に用いるアルゴリズムを変更することがより好ましい。なお、染色体毎に異なる局所的疎密解消法(LO)を適用してもよい。
In this way, by adopting an island model that performs crossover between populations with chromosomes divided in different directions, the diversity of chromosomes that are candidate solutions in
Further, in the first to fourth embodiments described above, when executing the local sparse / dense elimination method (LO) while executing the genetic algorithm (GAc, GAp), the second algorithm execution step is fixed. Although the case of using an algorithm (an algorithm to which an analogy of fluid mechanics is applied and an algorithm to which an analogy of morphing is applied) has been described, it is more preferable to change the algorithm used for each generation. In addition, you may apply the local sparse / dense elimination method (LO) which changes for every chromosome.
また、第2アルゴリズム実行ステップでは、配置領域10を分割しない状態で局所的疎密解消法(LO)を実施してもよい。
さらに、第1アルゴリズム実行ステップでは、染色体(配置領域10)を分割しない状態で、遺伝的アルゴリズム(GAc,GAp)の突然変異を実行してもよい。
なお、以下に、本発明を応用できる配置最適化問題の具体例を示す。
Further, in the second algorithm execution step, the local sparse / dense elimination method (LO) may be performed without dividing the
Further, in the first algorithm execution step, the mutation of the genetic algorithm (GAc, GAp) may be executed without dividing the chromosome (arrangement region 10).
A specific example of the layout optimization problem to which the present invention can be applied is shown below.
(1)LSIの設計の際のセル配置問題
セルは大きさをもつため、一般にはセルは重なってはならないという制約条件がある。
ここで、この制約条件を考慮して非線形計画法(例えば山登り法等)により最適なセル配置を求めるのは、原理的には可能であるが、実用的な規模のセル配置最適化問題を処理する場合には、一般にはより効率良く最適なセル配置を求めるのは難しい。
(1) Cell placement problem in LSI design Since cells have a size, there is generally a constraint that cells should not overlap.
Here, it is possible in principle to obtain an optimal cell arrangement by nonlinear programming (for example, hill-climbing method) in consideration of this constraint, but it handles a cell arrangement optimization problem on a practical scale. In general, it is difficult to obtain an optimal cell arrangement more efficiently.
このため、この制約条件を考慮しないで非線形計画法によりセル配置〔図28(a)参照〕を求め、その後、本発明で説明したような方法によりセルの疎密を解消すれば〔図28(b)参照〕、より効率的に最適なセル配置を得ることができる。
(2)フロアプラン
フロアプランとは、LSIの配置問題の一種であり、配置するセルの面積は定まっているが、セルの各辺の長さが可変である問題のことをいう。
For this reason, if the cell arrangement [see FIG. 28 (a)] is obtained by nonlinear programming without taking this constraint into consideration, and then the cell density is eliminated by the method described in the present invention [FIG. 28 (b). )], An optimal cell arrangement can be obtained more efficiently.
(2) Floor plan A floor plan is a kind of LSI placement problem, and refers to a problem in which the length of each side of the cell is variable, although the area of the cell to be placed is fixed.
この問題を解く際にも、本発明で説明したような方法を用いて、疎密の解消を行なうことができる〔図29(a),図29(b)参照〕。 When solving this problem, it is possible to eliminate the density by using the method described in the present invention (see FIGS. 29A and 29B).
1 配置最適化問題処理装置
4 CPU
5 表示制御部
5A 表示部
6 外部ファイル読出書込部
6A 外部ファイル
7B 入力部
7D 入力制御部
8 ディスク装置
9,9a 配置要素(要素)
10 配置領域(空間)
10a 部分領域(部分空間)
11〜18,18′ 染色体
20 第1アイランド
21,23 集団
22 第2アイランド
1 Placement
DESCRIPTION OF
10 Placement area (space)
10a Partial area (partial space)
11-18, 18 '
Claims (15)
上記の初期配置状態にある複数の要素に関する情報を配置結果として該コンピュータに入力する入力ステップと、
該入力ステップにて入力された該配置結果に対して、該空間を分割したものとして構成され且つそれぞれに複数の要素を含む部分空間を遺伝子として表現し、当該遺伝子の配列からなり該配置結果に相当する染色体を複数用意して、これらの染色体を用いるとともに、複数の要素の疎密を小さくできるような染色体が大きな適応度値をとる適応度関数を用いた遺伝的アルゴリズムを該CPUで実行することにより、最高の適応度値をもつ染色体を最適な染色体として取得する第1アルゴリズム実行ステップと、
該第1アルゴリズム実行ステップの実行中に生成される複数の染色体のそれぞれに対して、該遺伝的アルゴリズムで用いられる各染色体の部分空間毎に、当該部分空間内に含まれる複数の要素のうちの少なくとも一つの要素を要素密度が高い場所から要素密度が低い場所へと移動させる局所的疎密解消アルゴリズムを該CPUで実行する第2アルゴリズム実行ステップとをそなえ、
該第1アルゴリズム実行ステップにおける該遺伝的アルゴリズムおよび該第2アルゴリズム実行ステップにおける該局所的疎密解消アルゴリズムが、上記最適な染色体の適応度値が基準値以上になるまで繰り返し実行され、
該第1アルゴリズム実行ステップが、適応度値が該基準値以上である最適な染色体を、該接続関係を維持しながら上記の初期配置状態にある複数の要素の疎密を解消した解として出力することを特徴とする、回路配置最適化問題処理方法。 When arranging a plurality of elements having a defined connection relationship in a required space, a computer having a CPU is used to eliminate the density of the plurality of elements in the initial arrangement state while maintaining the connection relationship. A circuit layout optimization problem processing method,
An input step for inputting information on a plurality of elements in the initial arrangement state to the computer as an arrangement result;
For the arrangement result input in the input step, a partial space that is configured as a division of the space and each includes a plurality of elements is expressed as a gene, and the arrangement result includes the sequence of the gene. the chromosome corresponding to a plurality prepared with use of these chromosomes, performing a genetic algorithm using the fitness function chromosomes that can reduce the density of a plurality of elements takes a large fitness value by the CPU A first algorithm execution step for obtaining a chromosome having the highest fitness value as an optimal chromosome ,
For each of a plurality of chromosomes generated during the execution of the first algorithm execution step , for each subspace of each chromosome used in the genetic algorithm, among the plurality of elements included in the subspace and a second algorithm executing step you run in the CPU of the at least one local density eliminates algorithm element an element density moves from a high place to the element density is low location,
The genetic algorithm in the first algorithm execution step and the local sparse / dense elimination algorithm in the second algorithm execution step are repeatedly executed until the optimal chromosome fitness value becomes a reference value or more,
The first algorithm execution step outputs an optimal chromosome having a fitness value equal to or greater than the reference value as a solution in which the plurality of elements in the initial arrangement state are eliminated while maintaining the connection relationship. A circuit layout optimization problem processing method characterized by the above.
上記の初期配置状態にある複数の要素に関する情報を配置結果として該コンピュータに入力する入力ステップと、
該入力ステップにて入力された該配置結果に対して、該空間を分割したものとして構成される複数の部分空間のそれぞれの幅を第1の遺伝子として表現し、当該第1の遺伝子の配列からなる第1の染色体を複数用意して、これらの第1の染色体を用いるとともに、複数の要素の疎密を小さくできるような染色体が大きな適応度値をとる適応度関数を用いた第1遺伝的アルゴリズムを該CPUで実行する第1ステップと、
該第1ステップの実行中に生成される複数の第1の染色体に対応する複数の空間のそれぞれに対して、上記第1の染色体に応じた部分空間の幅でこの空間を分割したものとして構成され且つそれぞれに複数の要素を含む部分空間を第2の遺伝子として表現し、当該第2の遺伝子の配列からなり該配置結果に相当する第2の染色体を複数用意して、これらの第2の染色体を用いるとともに、該適応度関数を用いた第2遺伝的アルゴリズムを、予め定められた世代数を超えるまで繰り返し該CPUで実行することにより、最高の適応度値をもつ第2の染色体を中間染色体として、上記複数の第1の染色体のそれぞれに対応して複数取得する第2ステップと、
該第2ステップの実行中に生成される複数の第2の染色体のそれぞれに対して、該第2遺伝的アルゴリズムで用いられる各第2の染色体の該部分空間毎に、当該部分空間内に含まれる複数の要素のうちの少なくとも一つの要素を要素密度が高い場所から要素密度が低い場所へと移動させる局所的疎密解消アルゴリズムを該CPUで実行する第3ステップとをそなえ、
該第1ステップが、該第2ステップにて取得した上記複数の中間染色体のそれぞれの適応度値に基づいて、上記複数の中間染色体から最高の適応度値をもつ中間染色体を最適な染色体として取得し、
該第1ステップにおける該第1遺伝的アルゴリズム,該第2ステップにおける該第2遺伝的アルゴリズムおよび該第3ステップにおける該局所的疎密解消アルゴリズムが、上記最適な染色体の適応度値が基準値以上になるまで繰り返し実行され、
該第1ステップが、適応度値が該基準値以上である最適な染色体を、該接続関係を維持しながら上記の初期配置状態にある複数の要素の疎密を解消した解として出力することを特徴とする、回路配置最適化問題処理方法。 When arranging a plurality of elements having a defined connection relationship in a required space, a computer having a CPU is used to eliminate the density of the plurality of elements in the initial arrangement state while maintaining the connection relationship. A circuit layout optimization problem processing method,
An input step for inputting information on a plurality of elements in the initial arrangement state to the computer as an arrangement result;
With respect to the arrangement results input at said input step, the width of each of the plurality of subspaces to the space Ru are configured as obtained by dividing expressed as a first gene, said first gene a first chromosome consisting of SEQ Make several, first using a fitness function which Rutotomoni using these first chromosome, chromosome that can reduce the density of a plurality of elements takes a large fitness value a first step to run a genetic algorithm in the CPU,
Each of a plurality of spaces corresponding to a plurality of first chromosomes generated during the execution of the first step is configured by dividing this space by a partial space width corresponding to the first chromosome. the subspace containing a plurality of elements and each is expressed as a second gene, the second chromosome by preparing a plurality corresponding to Ri該placement result such a second gene sequences, these second Rutotomoni using chromosome of a second genetic algorithm using said fitness function, by executing a repeating said CPU to a predetermined excess of number of generations, the second chromosome with the highest fitness value A second step of acquiring a plurality of corresponding intermediate chromosomes corresponding to each of the plurality of first chromosomes,
For each of a plurality of second chromosomes generated during the execution of the second step, each subspace of each second chromosome used in the second genetic algorithm is included in the subspace. local density eliminates algorithm for moving to the at least one element element density is higher away from the element density is low location of the multiple elements includes a third step of executing by the CPU Re that,
The first step acquires the intermediate chromosome having the highest fitness value from the plurality of intermediate chromosomes as the optimal chromosome based on the fitness values of the plurality of intermediate chromosomes acquired in the second step. And
The first genetic algorithm in the first step, the second genetic algorithm in the second step, and the local sparse resolution algorithm in the third step are such that the optimal fitness value of the chromosome is not less than a reference value. It is executed repeatedly until
The first step outputs an optimal chromosome having a fitness value equal to or greater than the reference value as a solution in which the plurality of elements in the initial arrangement state are eliminated while maintaining the connection relation. A circuit layout optimization problem processing method.
上記の初期配置状態にある複数の要素に関する情報を配置結果として該コンピュータに入力する入力ステップと、
該入力ステップにて入力された該配置結果に対して、該空間を分割したものとして構成される複数の部分空間のそれぞれの幅を第1の遺伝子として表現し、当該第1の遺伝子の配列からなる第1の染色体を複数用意して、これらの第1の染色体を用いるとともに、複数の要素の疎密を小さくできるような染色体が大きな適応度値をとる適応度関数を用いた第1遺伝的アルゴリズムを該CPUで実行する第1ステップと、
該第1ステップの実行中に生成される複数の第1の染色体に対応する複数の空間のそれぞれに対して、該第1の染色体に応じた部分空間の幅でこの空間を複数の部分空間に分割した後に、該部分空間毎に、当該部分空間内に含まれる複数の要素のうちの少なくとも一つの要素を要素密度が高い場所から要素密度が低い場所へと移動させる局所的疎密解消アルゴリズムを該CPUで実行することにより、複数の第1の染色体に対応する複数の中間配置結果を取得し、上記複数の中間配置結果のそれぞれの適応度値を該CPUで算出する第2ステップと、
該空間を該第1の染色体に応じた部分空間の幅で分割したものとして構成され且つそれぞれに複数の要素を含む部分空間を第2の遺伝子として表現し、当該第2の遺伝子の配列からなり該配置結果に相当する第2の染色体を複数用意して、これらの第2の染色体を用いるとともに、該適応度関数を用いた第2遺伝的アルゴリズムを該CPUで実行することにより、最高の適応度値をもつ第2の染色体を最適な染色体として取得する第3ステップとをそなえ、
該第1ステップが、該第2ステップにて算出された適応度値に基づいて、上記複数の中間配置結果から最高の適応度値をもつ中間配置結果を最適な配置結果として取得し、
該第1ステップにおける該第1遺伝的アルゴリズムおよび該第2ステップにおける該局所的疎密解消アルゴリズムが、該第1遺伝的アルゴリズムにおいて予め定められた世代数を超えるまで繰り返し実行され、
該第3ステップが、該第1ステップにおける該第1遺伝的アルゴリズムおよび該第2ステップにおける該局所的疎密解消アルゴリズムが繰り返し実行されることにより取得した上記最適な配置結果に対して、上記最適な染色体の適応度値が基準値以上になるまで該第2遺伝的アルゴリズムを繰り返し実行し、適応度値が該基準値以上である最適な染色体を、該接続関係を維持しながら上記の初期配置状態にある複数の要素の疎密を解消した解として出力することを特徴とする、回路配置最適化問題処理方法。 When arranging a plurality of elements having a defined connection relationship in a required space, a computer having a CPU is used to eliminate the density of the plurality of elements in the initial arrangement state while maintaining the connection relationship. A circuit layout optimization problem processing method,
An input step for inputting information on a plurality of elements in the initial arrangement state to the computer as an arrangement result;
With respect to the arrangement results input at said input step, the width of each of the plurality of subspaces to the space Ru are configured as obtained by dividing expressed as a first gene, said first gene a first chromosome consisting of SEQ Make several, first using a fitness function which Rutotomoni using these first chromosome, chromosome that can reduce the density of a plurality of elements takes a large fitness value a first step to run a genetic algorithm in the CPU,
For each of a plurality of space corresponding to the plurality of first chromosome that is generated during the execution of the first step, multiple subspaces of the space by the width of the subspaces corresponding to the chromosomes of the first after divided, for each subspace, the local density eliminates the element density of at least one element from the element density is higher location of the elements of several of the Ru contained in the subspace moves to a lower location by executing the algorithm by the CPU, the second step it calculates to obtain a plurality of intermediate placement results corresponding to the plurality of first chromosome, the respective fitness values of the plurality of intermediate placement results by the CPU When,
The space is configured by dividing the space by the width of the partial space corresponding to the first chromosome, and the partial space including a plurality of elements is expressed as a second gene, and is composed of the sequence of the second gene. By preparing a plurality of second chromosomes corresponding to the arrangement result, using these second chromosomes, and executing the second genetic algorithm using the fitness function on the CPU, the best adaptation is achieved. and a third step of obtaining the second chromosome having a degree value as an optimum chromosomes,
The first step acquires an intermediate arrangement result having the highest fitness value from the plurality of intermediate arrangement results as an optimum arrangement result based on the fitness value calculated in the second step,
The first genetic algorithm in the first step and the local sparse resolution algorithm in the second step are repeatedly executed until a predetermined number of generations are exceeded in the first genetic algorithm;
In the third step, the optimal arrangement result obtained by repeatedly executing the first genetic algorithm in the first step and the local sparse / dense cancellation algorithm in the second step The second genetic algorithm is repeatedly executed until the fitness value of the chromosome is equal to or higher than the reference value, and the optimal chromosome having the fitness value equal to or higher than the reference value is maintained in the initial arrangement state while maintaining the connection relationship. A circuit layout optimization problem processing method, characterized in that the solution is output as a solution in which the density of a plurality of elements is eliminated .
該回路配置最適化問題処理プログラムが、
上記の初期配置状態にある複数の要素に関する情報が配置結果として該コンピュータに入力されると、入力された該配置結果に対して、該空間を分割したものとして構成され且つそれぞれに複数の要素を含む部分空間を遺伝子として表現し、当該遺伝子の配列からなり該配置結果に相当する染色体を複数用意して、これらの染色体を用いるとともに、複数の要素の疎密を小さくできるような染色体が大きな適応度値をとる適応度関数を用いた遺伝的アルゴリズムを該CPUで実行することにより、最高の適応度値をもつ染色体を最適な染色体として取得する第1アルゴリズム実行手段、及び、
該第1アルゴリズム実行手段の実行中に生成される複数の染色体のそれぞれに対して、該遺伝的アルゴリズムで用いられる各染色体の部分空間毎に、当該部分空間内に含まれる複数の要素のうちの少なくとも一つの要素を要素密度が高い場所から要素密度が低い場所へと移動させる局所的疎密解消アルゴリズムを該CPUで実行する第2アルゴリズム実行手段として該コンピュータを機能させるとともに、
該第1アルゴリズム実行手段における該遺伝的アルゴリズムおよび該第2アルゴリズム実行手段における該局所的疎密解消アルゴリズムが、上記最適な染色体の適応度値が基準値以上になるまで繰り返し実行され、
該第1アルゴリズム実行手段が、適応度値が該基準値以上である最適な染色体を、該接続関係を維持しながら上記の初期配置状態にある複数の要素の疎密を解消した解として出力するように該コンピュータを機能させることを特徴とする、回路配置最適化問題処理プログラムを記録したコンピュータ読み取り可能な記録媒体。 When arranging a plurality of elements for which connection relations are defined in a required space, a circuit layout optimization problem for eliminating the density of the plurality of elements in the initial arrangement state while maintaining the connection relation is A computer-readable recording medium recording a circuit layout optimization problem processing program for processing by the computer,
The circuit layout optimization problem processing program is
When information regarding a plurality of elements in the initial arrangement state is input to the computer as an arrangement result, the input arrangement result is configured as a result of dividing the space, and a plurality of elements are respectively added to the computer. Representing a partial space as a gene, preparing multiple chromosomes that consist of the sequence of the gene and corresponding to the arrangement result, and using these chromosomes, chromosomes that can reduce the density of multiple elements are large fitness A first algorithm executing means for acquiring a chromosome having the highest fitness value as an optimal chromosome by executing a genetic algorithm using a fitness function that takes a value by the CPU ; and
For each of a plurality of chromosomes generated during execution of the first algorithm execution means , for each subspace of each chromosome used in the genetic algorithm, among the plurality of elements included in the subspace at least one local density eliminates algorithm for moving an element from an element density is higher location to the element low density locations with to function the computer as the second algorithm executing means you run in the CPU,
The genetic algorithm in the first algorithm execution means and the local sparse / dense elimination algorithm in the second algorithm execution means are repeatedly executed until the optimal chromosome fitness value becomes a reference value or more,
The first algorithm executing means outputs an optimal chromosome having a fitness value equal to or greater than the reference value as a solution in which the plurality of elements in the initial arrangement state are eliminated while maintaining the connection relationship. A computer-readable recording medium having a circuit arrangement optimization problem processing program recorded thereon, wherein the computer is caused to function.
該回路配置最適化問題処理プログラムが、The circuit layout optimization problem processing program is
上記の初期配置状態にある複数の要素に関する情報が配置結果として該コンピュータに入力されると、入力された該配置結果に対して、該空間を分割したものとして構成される複数の部分空間のそれぞれの幅を第1の遺伝子として表現し、当該第1の遺伝子の配列からなる第1の染色体を複数用意して、これらの第1の染色体を用いるとともに、複数の要素の疎密を小さくできるような染色体が大きな適応度値をとる適応度関数を用いた第1遺伝的アルゴリズムを該CPUで実行する第1実行手段、When information regarding a plurality of elements in the initial arrangement state is input to the computer as an arrangement result, each of a plurality of partial spaces configured as a result of dividing the space with respect to the input arrangement result The width of the first gene is expressed as a first gene, a plurality of first chromosomes comprising the sequence of the first gene are prepared, and the first chromosome is used, and the density of a plurality of elements can be reduced. First execution means for executing, on the CPU, a first genetic algorithm using a fitness function in which a chromosome has a large fitness value;
該第1実行手段の実行中に生成される複数の第1の染色体に対応する複数の空間のそれぞれに対して、上記第1の染色体に応じた部分空間の幅でこの空間を分割したものとして構成され且つそれぞれに複数の要素を含む部分空間を第2の遺伝子として表現し、当該第2の遺伝子の配列からなり該配置結果に相当する第2の染色体を複数用意して、これらの第2の染色体を用いるとともに、該適応度関数を用いた第2遺伝的アルゴリズムを、予め定められた世代数を超えるまで繰り返し該CPUで実行することにより、最高の適応度値をもつ第2の染色体を中間染色体として、上記複数の第1の染色体のそれぞれに対応して複数取得する第2実行手段、及び、For each of the plurality of spaces corresponding to the plurality of first chromosomes generated during the execution of the first execution means, the space is divided by the width of the partial space corresponding to the first chromosome. A partial space that is configured and includes a plurality of elements each is expressed as a second gene, and a plurality of second chromosomes that are composed of the sequence of the second gene and that correspond to the placement result are prepared. And the second genetic algorithm using the fitness function is repeatedly executed by the CPU until the number of generations exceeds a predetermined number, whereby the second chromosome having the highest fitness value is obtained. A second execution means for obtaining a plurality of intermediate chromosomes corresponding to each of the plurality of first chromosomes; and
該第2実行手段の実行中に生成される複数の第2の染色体のそれぞれに対して、該第2遺伝的アルゴリズムで用いられる各第2の染色体の該部分空間毎に、当該部分空間内に含まれる複数の要素のうちの少なくとも一つの要素を要素密度が高い場所から要素密度が低い場所へと移動させる局所的疎密解消アルゴリズムを該CPUで実行する第3実行手段として該コンピュータを機能させるとともに、For each of a plurality of second chromosomes generated during the execution of the second execution means, for each of the subspaces of each second chromosome used in the second genetic algorithm, within the subspace Causing the computer to function as third execution means for executing, on the CPU, a local sparse / dense elimination algorithm for moving at least one element of a plurality of elements included from a place having a high element density to a place having a low element density ,
該第1実行手段が、該第2実行手段にて取得した上記複数の中間染色体のそれぞれの適応度値に基づいて、上記複数の中間染色体から最高の適応度値をもつ中間染色体を最適な染色体として取得し、Based on the fitness values of the plurality of intermediate chromosomes acquired by the second execution means, the first execution means selects an intermediate chromosome having the highest fitness value from the plurality of intermediate chromosomes as an optimal chromosome. Get as
該第1実行手段における該第1遺伝的アルゴリズム,該第2実行手段における該第2遺伝的アルゴリズムおよび該第3実行手段における該局所的疎密解消アルゴリズムが、上記最適な染色体の適応度値が基準値以上になるまで繰り返し実行され、The first genetic algorithm in the first execution means, the second genetic algorithm in the second execution means, and the local sparse / dense elimination algorithm in the third execution means are based on the optimal chromosome fitness value. It is executed repeatedly until it exceeds the value,
該第1実行手段が、適応度値が該基準値以上である最適な染色体を、該接続関係を維持しながら上記の初期配置状態にある複数の要素の疎密を解消した解として出力するように該コンピュータを機能させることを特徴とする、回路配置最適化問題処理プログラムを記録したコンピュータ読み取り可能な記録媒体。The first execution means outputs an optimal chromosome having a fitness value equal to or higher than the reference value as a solution in which the density of the plurality of elements in the initial arrangement state is eliminated while maintaining the connection relationship. A computer-readable recording medium having a circuit arrangement optimization problem processing program recorded thereon, wherein the computer functions.
該回路配置最適化問題処理プログラムが、The circuit layout optimization problem processing program is
上記の初期配置状態にある複数の要素に関する情報が配置結果として該コンピュータに入力されると、入力された該配置結果に対して、該空間を分割したものとして構成される複数の部分空間のそれぞれの幅を第1の遺伝子として表現し、当該第1の遺伝子の配列からなる第1の染色体を複数用意して、これらの第1の染色体を用いるとともに、複数の要素の疎密を小さくできるような染色体が大きな適応度値をとる適応度関数を用いた第1遺伝的アルゴリズムを該CPUで実行する第1実行手段、When information regarding a plurality of elements in the initial arrangement state is input to the computer as an arrangement result, each of a plurality of partial spaces configured as a result of dividing the space with respect to the input arrangement result The width of the first gene is expressed as a first gene, a plurality of first chromosomes comprising the sequence of the first gene are prepared, and the first chromosome is used, and the density of a plurality of elements can be reduced. First execution means for executing, on the CPU, a first genetic algorithm using a fitness function in which a chromosome has a large fitness value;
該第1実行手段の実行中に生成される複数の第1の染色体に対応する複数の空間のそれぞれに対して、該第1の染色体に応じた部分空間の幅でこの空間を複数の部分空間に分割した後に、該部分空間毎に、当該部分空間内に含まれる複数の要素のうちの少なくとも一つの要素を要素密度が高い場所から要素密度が低い場所へと移動させる局所的疎密解消アルゴリズムを該CPUで実行することにより、複数の第1の染色体に対応する複数の中間配置結果を取得し、上記複数の中間配置結果のそれぞれの適応度値を該CPUで算出する第2実行手段、及び、For each of a plurality of spaces corresponding to a plurality of first chromosomes generated during execution of the first execution means, this space is divided into a plurality of partial spaces with a width of the partial space corresponding to the first chromosome. For each partial space, a local sparse / dense elimination algorithm for moving at least one element of a plurality of elements included in the partial space from a place where the element density is high to a place where the element density is low A second execution means for acquiring a plurality of intermediate placement results corresponding to the plurality of first chromosomes and calculating a fitness value of each of the plurality of intermediate placement results by the CPU; ,
該空間を該第1の染色体に応じた部分空間の幅で分割したものとして構成され且つそれぞれに複数の要素を含む部分空間を第2の遺伝子として表現し、当該第2の遺伝子の配列からなり該配置結果に相当する第2の染色体を複数用意して、これらの第2の染色体を用いるとともに、該適応度関数を用いた第2遺伝的アルゴリズムを該CPUで実行することにより、最高の適応度値をもつ第2の染色体を最適な染色体として取得する第3実行手段として該コンピュータを機能させるとともに、The space is configured by dividing the space by the width of the partial space corresponding to the first chromosome, and the partial space including a plurality of elements is expressed as a second gene, and is composed of the sequence of the second gene. By preparing a plurality of second chromosomes corresponding to the arrangement result, using these second chromosomes, and executing the second genetic algorithm using the fitness function on the CPU, the best adaptation is achieved. Causing the computer to function as third execution means for acquiring the second chromosome having a degree value as an optimal chromosome,
該第1実行手段が、該第2実行手段にて算出された適応度値に基づいて、上記複数の中間配置結果から最高の適応度値をもつ中間配置結果を最適な配置結果として取得し、The first execution means acquires an intermediate arrangement result having the highest fitness value from the plurality of intermediate arrangement results as an optimum arrangement result based on the fitness value calculated by the second execution means,
該第1実行手段における該第1遺伝的アルゴリズムおよび該第2実行手段における該局所的疎密解消アルゴリズムが、該第1遺伝的アルゴリズムにおいて予め定められた世代数を超えるまで繰り返し実行され、The first genetic algorithm in the first execution means and the local sparse / dense cancellation algorithm in the second execution means are repeatedly executed until the number of generations predetermined in the first genetic algorithm exceeds a predetermined number of generations;
該第3実行手段が、該第1実行手段における該第1遺伝的アルゴリズムおよび該第2実行手段における該局所的疎密解消アルゴリズムが繰り返し実行されることにより取得した上記最適な配置結果に対して、上記最適な染色体の適応度値が基準値以上になるまで該第2遺伝的アルゴリズムを繰り返し実行し、適応度値が該基準値以上である最適な染色体を、該接続関係を維持しながら上記の初期配置状態にある複数の要素の疎密を解消した解として出力するように該コンピュータを機能させることを特徴とする、回路配置最適化問題処理プログラムを記録したコンピュータ読み取り可能な記録媒体。With respect to the optimal arrangement result obtained by the third execution means repeatedly executing the first genetic algorithm in the first execution means and the local sparse / dense elimination algorithm in the second execution means, The second genetic algorithm is repeatedly executed until the fitness value of the optimal chromosome is equal to or higher than a reference value, and an optimal chromosome having a fitness value equal to or higher than the reference value is maintained while maintaining the connection relationship. A computer-readable recording medium storing a circuit arrangement optimization problem processing program, wherein the computer functions so as to output a solution in which the density of a plurality of elements in an initial arrangement state is eliminated.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006268964A JP4032070B2 (en) | 2006-09-29 | 2006-09-29 | Circuit layout optimization problem processing method and circuit layout optimization problem processing program recording computer-readable recording medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006268964A JP4032070B2 (en) | 2006-09-29 | 2006-09-29 | Circuit layout optimization problem processing method and circuit layout optimization problem processing program recording computer-readable recording medium |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP25833498A Division JP4031874B2 (en) | 1998-09-11 | 1998-09-11 | Circuit layout optimization problem processing method and circuit layout optimization problem processing program recording computer-readable recording medium |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2007052799A JP2007052799A (en) | 2007-03-01 |
| JP4032070B2 true JP4032070B2 (en) | 2008-01-16 |
Family
ID=37917150
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006268964A Expired - Fee Related JP4032070B2 (en) | 2006-09-29 | 2006-09-29 | Circuit layout optimization problem processing method and circuit layout optimization problem processing program recording computer-readable recording medium |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4032070B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4739272B2 (en) * | 2007-04-19 | 2011-08-03 | 株式会社富士通アドバンストエンジニアリング | Load distribution apparatus, virtual server management system, load distribution method, and load distribution program |
-
2006
- 2006-09-29 JP JP2006268964A patent/JP4032070B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2007052799A (en) | 2007-03-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4031874B2 (en) | Circuit layout optimization problem processing method and circuit layout optimization problem processing program recording computer-readable recording medium | |
| Aivaliotis-Apostolopoulos et al. | Swarming genetic algorithm: A nested fully coupled hybrid of genetic algorithm and particle swarm optimization | |
| Turky et al. | A multi-population harmony search algorithm with external archive for dynamic optimization problems | |
| CN102165491B (en) | Image processing device and image processing method | |
| JP5371221B2 (en) | Slice data structure for particle method simulation, and method for implementing particle method simulation on GPU using slice data structure | |
| JP7590653B2 (en) | Inference program, inference method, and information processing device | |
| JP6612487B1 (en) | Learning device, classification device, learning method, classification method, learning program, and classification program | |
| JP2019032820A (en) | Data set for learning functions with image as input | |
| KR101081649B1 (en) | Device and method for classifying/displaying different design shape having similar characteristics and recording medium thereof | |
| US20090326881A1 (en) | Multi-objective optimal design improvement support device, its method and storage medium | |
| JP7020485B2 (en) | Arithmetic logic unit, arithmetic method and program | |
| JP6933167B2 (en) | Robot control device | |
| JP3905959B2 (en) | Arrangement optimization problem processing method, arrangement optimization problem processing apparatus, and computer readable recording medium recording arrangement optimization problem processing program | |
| JP7633521B2 (en) | PROGRAM, INFERENCE METHOD AND INFORMATION PROCESSING APPARATUS | |
| Liew et al. | Optimising the load path of compression-only thrust networks through independent sets | |
| JP2009163615A (en) | Co-clustering apparatus, co-clustering method, co-clustering program, and recording medium recording the program | |
| JP6612486B1 (en) | Learning device, classification device, learning method, classification method, learning program, and classification program | |
| US12271976B2 (en) | Scene graph structure generation and rendering | |
| Hicks | A Genetic Algorithm tool for optimising cellular or functional layouts in the capital goods industry | |
| US12592011B2 (en) | Digital representation of intertwined vector objects | |
| JP7188420B2 (en) | Information processing device, information processing method, and information processing program | |
| JP4032070B2 (en) | Circuit layout optimization problem processing method and circuit layout optimization problem processing program recording computer-readable recording medium | |
| Burkhart et al. | Adaptive and feature‐preserving subdivision for high‐quality tetrahedral meshes | |
| JP5081059B2 (en) | Topic visualization device, topic visualization method, topic visualization program, and recording medium recording the program | |
| TW200926057A (en) | System, method and recording medium for multi-level simulating animation cloths |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070320 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070518 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070710 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070907 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071002 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071022 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101026 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101026 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111026 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111026 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121026 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121026 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131026 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |