"プリント配線板での配線経路の設計を支援する装置であって、格子点をノードとし、隣接する格子点間を結ぶ線分を枝とする有向グラフを、前記配線経路を作成する対象領域面上に定義する有向グラフ定義部と、前記対象領域面上において配線の配置が禁止される領域の位置を示す配線禁止領域情報についての入力を取得する配線禁止領域情報取得部と、前記対象領域面上に定義されている前記格子点のうちで、複数の配線の各々によってそれぞれ結ばれる複数組の格子点の組の情報である結線情報についての入力を取得する結線情報取得部と、前記有向グラフを構成している枝のうちで、前記配線禁止領域情報で示されている領域内に位置している格子点に繋がっている枝に対しフロー容量を0に設定すると共に、その他の枝に対しフロー容量を1に設定し、更に、前記複数組の格子点の各組に属している一対の格子点に、フロー容量が1である枝を介してフローの始点と終点とをそれぞれ接続することで、フローネットワークを作成するフローネットワーク作成部と、前記フローネットワーク作成部が各枝について設定した前記フロー容量の下で前記始点から前記終点へのフロー量が最大となるフローの経路を、前記フローネットワークから探索するフロー経路探索部と、前記フロー経路探索部による前記経路の探索結果に従って、前記結線情報で示されている複数組の格子点の各組に属している前記一対の格子点を各々結ぶ前記複数の配線の経路を決定する配線経路決定部と、を備えることを特徴とする配線設計支援装置。前記格子点の間隔は、前記対象領域面上での前記配線における線幅及び配線間隔の定義に基づいて設定されることを特徴とする請求項1に記載の配線設計支援装置。前記結線情報取得部は、前記配線により接続を行う端子の前記対象領域面上での配置位置の情報の入力から、該端子と前記格子点との対応関係を示す対応関係情報を生成し、該対応関係情報と該配線により接続を行う端子を特定する論理接続情報の入力とに基づいて前記結線情報を生成することを特徴とする請求項1又は2に記載の配線設計支援装置。前記論理接続情報により特定されている前記配線により接続を行う端子が2端子部品の一方の端子である場合には、前記結線情報取得部は、該2端子部品における他方の端子と前記格子点とに対しての前記対応関係情報を更に生成し、前記フローネットワーク作成部は、前記場合においては、前記2端子部品ついての中継ノードを新規に定義して、前記一方の端子に対応する格子点と前記始点若しくは前記終点とを接続する枝の途中に該中継ノードを挿入し、更に、前記対応関係情報において前記他方の端子との対応関係が示されている格子点と該中継ノードとをフロー容量が1である枝を介して接続し、前記配線設計支援装置は、前記配線経路決定部が経路を決定した配線により接続される一方の接続先が前記2端子部品における前記他方の端子となった場合に、該配線により接続を行う端子の前記対象領域面上での配置位置についての前記入力された情報を変更して、該他方の端子についての該情報と該2端子部品における前記一方の端子についての該情報とを交換することによって、該配線により接続される端子を前記論理接続情報で特定される端子に一致させる2端子部品情報交換部を更に備える、ことを特徴とする請求項3に記載の配線設計支援装置。前記2端子部品情報交換部は、更に、前記配線経路決定部が経路を決定した複数の配線に、接続を行う一方の接続先が同一形状の2端子部品である配線が少なくとも2つ存在することとなった場合に、該配線により接続を行う端子の前記対象領域面上での配置位置についての前記入力された情報を変更して、そのうちの1の配線に接続される2端子部品の端子についての該情報と、そのうちの別の1の配線に接続される、該2端子部品とは別の2端子部品の端子についての該情報とを交換することによって、該1の配線により接続される端子を前記論理接続情報で特定される端子に一致させることを特徴とする請求項4に記載の配線設計支援装置。前記配線経路決定部が経路を決定した複数の配線に、接続を行う一方の接続先が同一形状の多連集合部品である配線が少なくとも2つ存在することとなった場合に、該配線により接続を行う端子の前記対象領域面上での配置位置についての前記入力された情報を変更して、そのうちの1の配線に接続される多連集合部品の端子についての該情報と、そのうちの別の1の配線に接続される、当該多連集合部品の他の端子若しくは該多連集合部品とは別の多連集合部品の端子についての該情報とを交換することによって、該1の配線により接続される端子を前記論理接続情報で特定される端子に一致させる多連集合部品情報交換部を更に備えることを特徴とする請求項3から5のうちのいずれか一項に記載の配線設計支援装置。前記配線経路決定部が経路を決定した配線を、2線1組の平行配線である差動信号配線に置換する差動信号配線置換部を更に備えることを特徴とする請求項1から6のうちのいずれか一項に記載の配線設計支援装置。プリント配線板での配線経路の設計を支援する方法であって、格子点をノードとし、隣接する格子点間を結ぶ線分を枝とする有向グラフを、前記配線経路を作成する対象領域面上に定義し、前記対象領域面上において配線の配置が禁止される領域の位置を示す配線禁止領域情報についての入力を取得し、前記対象領域面上に定義されている前記格子点のうちで、複数の配線の各々によってそれぞれ結ばれる複数組の格子点の組の情報である結線情報についての入力を取得し、前記有向グラフを構成している枝のうちで、前記配線禁止領域情報で示されている領域内に位置している格子点に繋がっている枝に対しフロー容量を0に設定すると共に、その他の枝に対しフロー容量を1に設定し、更に、前記複数組の格子点の各組に属している一対の格子点に、フロー容量が1である枝を介してフローの始点と終点とをそれぞれ接続することで、フローネットワークを作成し、前記枝の各々について設定した前記フロー容量の下で前記始点から前記終点へのフロー量が最大となるフローの経路を、前記フローネットワークから探索し、前記経路の探索結果に従って、前記結線情報で示されている複数組の格子点の各組に属している前記一対の格子点を各々結ぶ前記複数の配線の経路を決定する、ことを特徴とする配線設計支援方法。プリント配線板での配線経路の設計の支援をコンピュータに行わせるためのプログラムであって、格子点をノードとし、隣接する格子点間を結ぶ線分を枝とする有向グラフを、前記配線経路を作成する対象領域面上に定義し、前記対象領域面上において配線の配置が禁止される領域の位置を示す配線禁止領域情報についての入力を取得し、前記対象領域面上に定義されている前記格子点のうちで、複数の配線の各々によってそれぞれ結ばれる複数組の格子点の組の情報である結線情報についての入力を取得し、前記有向グラフを構成している枝のうちで、前記配線禁止領域情報で示されている領域内に位置している格子点に繋がっている枝に対しフロー容量を0に設定すると共に、その他の枝に対しフロー容量を1に設定し、更に、前記複数組の格子点の各組に属している一対の格子点に、フロー容量が1である枝を介してフローの始点と終点とをそれぞれ接続することで、フローネットワークを作成し、前記枝の各々について設定した前記フロー容量の下で前記始点から前記終点へのフロー量が最大となるフローの経路を、前記フローネットワークから探索し、前記経路の探索結果に従って、前記結線情報で示されている複数組の格子点の各組に属している前記一対の格子点を各々結ぶ前記複数の配線の経路を決定する、処理を前記コンピュータに実行させることを特徴とするプログラム。近年、電子機器に使用されるプリント配線板は、電子回路の大規模化と高密度化との進展により、配線区間数が増加している。また、デジタル信号の高速化や省電力化に伴って波形の品質に対する要求が高くなったことにより、特に反射ノイズ対策としてダンピング抵抗や終端抵抗を挿入する機会が増加している。このような抵抗部品は、適切な位置に配置してできる限り短い線長で接続しなければ所望の効果が期待できないため、プリント配線板の設計者は、配線長が長くならないよう注意しながら抵抗部品の配置及び端子ピン間の配線の設計作業を行っている。例えばBGABallGridArrayなどといった非常に多くのピンを備えている部品以下、多ピン部品と称するを配置する場合には、その周囲に数十~数百の抵抗部品を配置し、且つ、互いに線長が長くならないよう考慮して配線する必要がある。このような配線を単層で行うための一般的な手法では、まず、多ピン部品内の各ピンから当該多ピン部品の外側まで、なるべく迂回をしないようにして配線を伸ばす。そして、次に、配線順序に応じ、チップ抵抗や多連抵抗等の抵抗部品を配置し、若しくは抵抗部品の入れ替えを行って、前述した配線との接続を行う。しかしながら、配線数が多くなると、先に配線を済ませていた配線ラインが後の配線にとっての邪魔になるという場面がしばしば発生し、その都度、配線経路の修正を行うこととなる。このような修正が、プリント配線板での配線設計作業に多くの時間が必要とされる要因のひとつとなっている。ここで、このような配線設計に前述した各種の技術を用いた場合には、配線設定に長い時間を要することが多いと思われ、中には配線経路が存在してもその経路を見つけ出せないこともあると考えられる。上述した問題に鑑み、本明細書で後述する配線設計支援装置は、プリント配線板での配線経路の設計作業を適切に支援する新たな手法を提供する。本明細書で後述する配線設計支援装置は、プリント配線板での配線経路の設計を支援する装置である。この装置のひとつに、有向グラフ定義部、配線禁止領域情報取得部、結線情報取得部、フローネットワーク作成部、フロー経路探索部、及び配線経路決定部を備えるというものがある。ここで、有向グラフ定義部は、格子点をノードとし、隣接する格子点間を結ぶ線分を枝とする有向グラフを、当該配線経路を作成する対象領域面上に定義する。配線禁止領域情報取得部は、当該対象領域面上において配線の配置が禁止される領域の位置を示す配線禁止領域情報についての入力を取得する。結線情報取得部は、当該対象領域面上に定義されている当該格子点のうちで、複数の配線の各々によってそれぞれ結ばれる複数組の格子点の組の情報である結線情報についての入力を取得する。フローネットワーク作成部は、まず、当該有向グラフを構成している枝のうちで当該配線禁止領域情報で示されている領域内に位置している格子点に繋がっている枝に対しフロー容量を0に設定すると共に、その他の枝に対しフロー容量を1に設定する。更に、フローネットワーク作成部は、当該複数組の格子点の各組に属している一対の格子点に、フロー容量が1である枝を介してフローの始点と終点とをそれぞれ接続することで、当該フローネットワークを作成する。フロー経路探索部は、フローネットワーク作成部が各枝について設定したフロー容量の下で当該始点から当該終点へのフロー量が最大となるフローの経路を、当該フローネットワークから探索する。配線経路決定部は、フロー経路探索部による当該経路の探索結果に従って、当該結線情報で示されている複数組の格子点の各組に属している当該一対の格子点を各々結ぶ複数の配線の経路を決定する。また、本明細書で後述する配線設計支援方法のひとつは、プリント配線板での配線経路の設計を支援する方法である。この方法は、まず、格子点をノードとし、隣接する格子点間を結ぶ線分を枝とする有向グラフを、当該配線経路を作成する対象領域面上に定義する。次に、当該対象領域面上において配線の配置が禁止される領域の位置を示す配線禁止領域情報についての入力を取得する。次に、当該対象領域面上に定義されている当該格子点のうちで、複数の配線の各々によってそれぞれ結ばれる複数組の格子点の組の情報である結線情報についての入力を取得する。次に、フローネットワークの作成を行う。この作成のために、まず、当該有向グラフを構成している枝のうちで当該配線禁止領域情報で示されている領域内に位置している格子点に繋がっている枝に対しフロー容量を0に設定すると共に、その他の枝に対しフロー容量を1に設定する。次に、当該複数組の格子点の各組に属している一対の格子点に、フロー容量が1である枝を介してフローの始点と終点とをそれぞれ接続することで、当該フローネットワークが作成される。次に、当該枝の各々について設定したフロー容量の下で当該始点から当該終点へのフロー量が最大となるフローの経路を、当該フローネットワークから探索する。そして、当該経路の探索結果に従って、当該結線情報で示されている複数組の格子点の各組に属している当該一対の格子点を各々結ぶ複数の配線の経路を決定する。また、本明細書で後述するプログラムのひとつは、プリント配線板での配線経路の設計の支援をコンピュータに行わせるためのものである。このプログラムは、以下の処理をコンピュータに実行させる。この処理は、まず、格子点をノードとし、隣接する格子点間を結ぶ線分を枝とする有向グラフを、当該配線経路を作成する対象領域面上に定義する。次に、当該対象領域面上において配線の配置が禁止される領域の位置を示す配線禁止領域情報についての入力を取得する。次に、当該対象領域面上に定義されている当該格子点のうちで、複数の配線の各々によってそれぞれ結ばれる複数組の格子点の組の情報である結線情報についての入力を取得する。次に、フローネットワークの作成を行う。この作成のために、まず、当該有向グラフを構成している枝のうちで当該配線禁止領域情報で示されている領域内に位置している格子点に繋がっている枝に対しフロー容量を0に設定すると共に、その他の枝に対しフロー容量を1に設定する。次に、当該複数組の格子点の各組に属している一対の格子点に、フロー容量が1である枝を介してフローの始点と終点とをそれぞれ接続することで、当該フローネットワークが作成される。次に、当該枝の各々について設定したフロー容量の下で当該始点から当該終点へのフロー量が最大となるフローの経路を、当該フローネットワークから探索する。そして、当該経路の探索結果に従って、当該結線情報で示されている複数組の格子点の各組に属している当該一対の格子点を各々結ぶ複数の配線の経路を決定する。本明細書で後述する配線設計支援装置は、プリント配線板での配線経路の設計作業の支援を適切に行えるという効果を奏する。まず図1について説明する。図1は、プリント配線板での配線経路の自動設計を行うことで当該配線経路の設計作業を支援する配線設計支援装置の一実施例の機能ブロック図である。この配線設計支援装置1は、MPU10、記憶装置30、表示装置41、マウス装置42、キーボード装置43、RAM44、及びROM45を備えている。なお、これらの構成要素は、システムバス46を介して接続されており、各種のデータをMPU10の管理の下で相互に授受することができる。MPUMicroProcessingUnit10は、配線設計支援装置1全体の動作を制御する演算処理装置である。また、MPU10は、有向グラフ定義部11、配線禁止領域情報取得部12、結線情報取得部13、フローネットワーク作成部14、フロー経路探索部15、及び配線経路決定部16として機能する。なお、MPU10が、更に、2端子部品情報交換部17、多連集合部品情報交換部18、及び差動信号配線置換部19として機能するようにしてもよい。これらの機能の詳細については後述する。なお、MPU10は、ROM45に予め格納されている所定の制御プログラムを読み出して実行することによって、これらの各機能ブロックが備えている機能を提供できるようになる。記憶装置30は、配線設計支援装置1に入力される情報である配線禁止領域情報31、論理接続情報32、及び部品情報33と、配線設計支援装置1が出力する情報である配線経路情報34とを記憶しておく装置である。これらの情報の具体的な内容については後述する。表示装置41は、MPU10から送付される表示データに応じて各種のテキストや画像を表示する。マウス装置42及びキーボード装置43は、配線設計支援装置1の使用者からの各種の指示やデータの入力を受け付ける入力装置である。RAMRandomAccessMemory44は、MPU10による制御プログラムの実行の際に、例えば作成した各種のテーブルを記憶しておくために使用する等、必要に応じて作業用記憶領域として使用する、随時書き込み読み出し可能な半導体メモリである。ROMReadOnlyMemory45は、所定の制御プログラムが予め記録されている読み出し専用半導体メモリである。MPU10は、この制御プログラムを配線設計支援装置1の起動時に読み出して実行することにより、配線設計支援装置1全体の動作の制御や、前述の各機能ブロックが備えている機能を提供できるようになる。次に、MPU10によって提供される、前述の各機能ブロックが備えている機能について説明する。有向グラフ定義部11は、格子点をノードとし、隣接する格子点間を結ぶ線分を枝とする有向グラフを、プリント配線板における、配線経路を作成する対象領域面上に定義する。なお、このときの格子点の間隔は、例えば、この対象領域面上でのプリント配線における線幅及び配線間隔の定義に基づいて設定される。配線禁止領域情報取得部12は、上述の対象領域面上において配線の配置が禁止される領域の位置を示す配線禁止領域情報31についての入力を取得する。結線情報取得部13は、上述の対象領域面上に定義されている格子点のうちで、複数の配線の各々によってそれぞれ結ばれる複数組の格子点の組の情報である結線情報についての入力を取得する。フローネットワーク作成部14はフローネットワークの作成を行う。より具体的には、フローネットワーク作成部14は、まず、有向グラフ定義部11が定義した有向グラフを構成している枝のうちで、配線禁止領域情報31で示されている領域内に位置している格子点に繋がっている枝に対しフロー容量を0に設定する。そして、その他の枝に対しては、フロー容量を1に設定する。次に、フローネットワーク作成部14は、前述の複数組の格子点の各組に属している一対の格子点に、フロー容量が1である枝を介してフローの始点と終点とをそれぞれ接続する。フローネットワーク作成部14は、フローネットワークの作成をこのようにして行う。フロー経路探索部15は、フローネットワーク作成部14が各枝について設定したフロー容量の下で前述の始点から終点へのフロー量が最大となるフローの経路を、フローネットワーク作成部14が作成したフローネットワークから探索する。配線経路決定部16は、フロー経路探索部15による上述の経路の探索結果に従って、前述の結線情報で示されている複数組の格子点の各組に属している一対の格子点を各々結ぶ複数の配線の経路を決定する。配線経路決定部16は、決定された配線の経路を特定する情報を、配線経路情報34として、記憶装置30に記憶する。この構成では、プリント配線板による配線経路の自動設計を、フローネットワークにおける最大フロー問題に帰着させて実行する。また、フローネットワークにおける枝の容量を0として配線禁止領域を表現し、当該容量を1として配線可能領域を表現する。このようにすることで、配線経路が存在すれば確実に発見することができ、また、配線経路の自動設計に要する時間の短縮化が期待できる。なお、結線情報取得部13は、前述の結線情報を、例えば以下のようにして行う。すなわち、結線情報取得部13は、まず、配線により接続を行う端子の対象領域面上での配置位置の情報の入力から、当該端子と格子点との対応関係を示す対応関係情報を生成する。なお、各端子の配置位置情報は、部品情報33から取得される。結線情報取得部13は、この対応関係情報と配線により接続を行う端子間の論理接続情報32の入力とに基づいて、この結線情報を取得する。また、論理接続情報32により特定されている、配線により接続を行う端子が2端子部品の一方の端子である場合には、各機能ブロックが以下の機能を提供するようにしてもよい。この場合においては、まず、結線情報取得部13は、当該2端子部品における他方の端子と前述の格子点とに対しての対応関係情報を更に生成する。また、フローネットワーク作成部14は、この場合においては、まず、当該2端子部品ついての中継ノードを新規に定義して、上述の一方の端子に対応する格子点と前述の始点若しくは終点とを接続する枝の途中に当該中継ノードを挿入する。更に、フローネットワーク作成部14は、前述の対応関係情報において上述の他方の端子との対応関係が示されている格子点と当該中継ノードとをフロー容量が1である枝を介して接続する。2端子部品交換部17は、上記の場合に用いられるものである。2端子部品情報交換部17は、配線経路決定部16が経路を決定した配線により接続される一方の接続先がこの2端子部品における上述の他方の端子となった場合に、当該配線により接続を行う端子の対象領域面上での配置位置についての入力された情報を変更する。この変更は、当該他方の端子についてのこの情報と当該2端子部品における当該一方の端子についての当該情報とを交換して、当該配線により接続される端子を、論理接続情報32で特定される端子に一致させるというものである。詳細は後述するが、配線設計支援装置1は、この2端子部品情報交換部17を備えることで、特定の場合において配線経路を短縮することができる。また、2端子部品情報交換部17は、配線経路決定部16が経路を決定した複数の配線に、接続を行う一方の接続先が同一形状の2端子部品である配線が少なくとも2つ存在することとなった場合に、以下に述べる機能を提供してもよい。すなわち、2端子部品情報交換部17は、この場合に、当該配線により接続を行う端子の対象領域面上での配置位置についての入力された情報を変更する。この変更は、上述の場合のうちの1の配線に接続される2端子部品の端子についての当該情報と、上述の場合のうちの別の1の配線に接続される、当該2端子部品とは別の2端子部品の端子についての当該情報とを交換するというものである。この変更によって、当該1の配線により接続される端子を論理接続情報32で特定される端子に一致させることができる。詳細は後述するが、2端子部品情報交換部17が上記の機能を更に提供することで、論理接続情報32による制約条件の一部を一旦除外して配線経路の決定を行ってから、配線経路と論理接続情報32との不一致を解消することが可能になる。このようにすることで、遅い順序での配線経路の作成のために配置済みの配線の経路の修正が必要となるケースが減少し、設計作業に要する時間の短縮化に寄与する。また、多連集合部品情報交換部18は、配線経路決定部16が経路を決定した複数の配線に、接続を行う一方の接続先が同一形状の多連集合部品である配線が少なくとも2つ存在することとなった場合に、以下に述べる機能を提供するものである。すなわち、多連集合部品情報交換部18は、この場合に、当該配線により接続を行う端子の対象領域面上での配置位置についての入力された情報を変更する。この変更により、上述の場合のうちの1の配線に接続される多連集合部品の端子についての該情報を、上述の場合のうちの別の1の配線に接続される、当該多連集合部品の他の端子若しくは当該多連集合部品とは別の多連集合部品の端子についての該情報と交換する。この変更によって、当該1の配線により接続される端子を論理接続情報32で特定される端子に一致させることができる。なお、本願において、多連集合部品とは、ネットワーク抵抗器やチップ型コンデンサネットワークなどと称されている、素子値が同一である複数の2端子素子を1つのパッケージに封入した部品の総称をいうものとする。詳細は後述するが、配線設計支援装置1は、この多連集合部品情報交換部18を備えることで、論理接続情報32による制約条件の一部を一旦除外して配線経路の決定を行ってから、配線経路と論理接続情報32との不一致を解消することが可能になる。このようにすることで、遅い順序での配線経路の作成のために既に配置済みの配線の経路の修正が必要となるケースが減少し、設計作業に要する時間の短縮化に寄与する。差動信号配線置換部19は、配線経路決定部16が経路を決定した配線を、2線1組の平行配線である差動信号配線に置換する。配線設計支援装置1は、この差動信号配線置換部19を備えることで、一対の配線を平行な経路で配線することが望まれる差動信号配線の設計支援を行うことができる。次に、記憶装置30により記憶される各種データのデータ構造について、図2を参照しながら説明する。図2に示されているように、配線禁止領域情報31、論理接続情報32、部品情報33、及び配線経路情報34はいずれもテーブル構造のデータ構造を有している。配線禁止領域情報31は形状と層とを対応付けた情報である。ここで、形状の項目は、配線禁止領域のプリント配線板上での位置を特定する情報である。例えば、この1行目の形状のデータ例は、プリント配線板上に定義した二次元直交座標平面X,Y上における座標0,0と60000,1000との2点を対角点とする矩形の領域を配線禁止領域とすることを表している。また、層の項目は、多層基板であるプリント配線板の各配線層においての配線禁止領域が設定される配線層を特定する情報である。例えば、この1行目の層のデータ例は、第1層から第12層までの各配線層において、形状の情報で表されている領域を配線禁止領域とすることを表している。論理接続情報32は、接続名毎に始点ピン名と終点ピン名とを対応付けた情報である。ここで、接続名の項目は論理接続情報32を個別に識別する情報であり、始点ピン名及び終点ピン名の各項目は、配線設計支援装置1によって自動設計される配線経路により接続を行う一対の端子を特定する情報である。例えば、この1行目のSIG-1についてのデータ例は、部品名がLSI1である部品の1番ピンと部品名がR1である部品の1番ピンとを接続することを表している。部品情報33は、部品名毎に部品位置、方向、ピン名、及びピン位置を対応付けた情報である。ここで、部品名の項目はプリント配線板上に配置される部品を個別に識別する情報である。また、部品位置の項目は、部品名で特定される部品の位置当該部品の1番ピンの位置を座標で表している。また、方向は、部品名で特定される部品の配置方向を、予め定めた基準方向に対する回転角度で表している。また、ピン名の項目は、部品名で特定される部品が備えている端子を個別に識別する情報である。更に、ピン位置の情報は、部品名及びピン名で特定される部品の端子の位置当該部品の1番ピンの位置を基準位置とするときの相対位置を座標で表している。例えば、この1行目のLSI1についてのデータ例は、部品名がLSI1である部品が、1番ピンが44500,27500の位置で、基準方向に沿って配置されることを表している。また、このデータ例では、この部品の2番ピンの相対位置は1000,0であり、3番ピンの相対位置は2000,0であること、なども表されている。以上の配線禁止領域情報31、論理接続情報32、及び部品情報33は、配線設計支援装置1の使用者によって用意されて記憶装置30に予め記憶させておく情報である。配線経路情報34は、接続名で表されている論理接続情報32について配線設計支援装置1によって自動設計された配線経路を表している。例えば、1行目のSIG-1についてのデータ例は、第12層における、座標45000,28000、45500,28000、45500,32000、52500,32000、...の各点をこの順序で接続した経路を表している。記憶装置30により記憶される各種情報は、以上のようなデータ構造を有している。なお、図1に図解した配線設計支援装置1を、標準的な構成のコンピュータを用いて構成することもできる。ここで図3について説明する。図3には、コンピュータのハードウェア構成例が図解されている。このコンピュータ50は、MPU51、ROM52、RAM53、ハードディスク装置54、入力装置55、表示装置56、インタフェース装置57、及び記録媒体駆動装置58を備えている。なお、これらの構成要素はバスライン59を介して接続されており、MPU51の管理の下で各種のデータを相互に授受することができる。MPU51は、このコンピュータ50全体の動作を制御する演算処理装置であり、図1におけるMPU10として機能する。ROM52は、所定の基本制御プログラムが予め記録されている読み出し専用半導体メモリであり、MPU51は、この基本制御プログラムをコンピュータ50の起動時に読み出して実行することにより、このコンピュータ50の各構成要素の動作制御が可能になる。このROM52は、図1におけるROM45の一部機能を提供する。RAM53は、MPU51が各種の制御プログラムを実行する際に、必要に応じて作業用記憶領域として使用する、随時書き込み読み出し可能な半導体メモリであり、図1におけるRAM53として機能する。ハードディスク装置54は、MPU51によって実行される各種の制御プログラムや各種のデータを記憶しておく記憶装置である。MPU51は、ハードディスク装置54に記憶されている所定の制御プログラムを読み出して実行することにより、各種の制御処理を行えるようになる。ハードディスク装置54は、図1における記憶装置30の機能を提供すると共に、ROM45の一部機能の提供も行う。入力装置55は、コンピュータ50の操作者により操作されると、その操作内容に対応付けられている管理者からの各種情報の入力を取得し、取得した入力情報をMPU51に送付する。この入力装置55は、図1におけるマウス装置42及びキーボード装置43に相当するものである。表示装置56はMPU51から送付される表示データに応じて各種のテキストや画像を表示する例えば液晶ディスプレイであり、図1の表示装置41に相当する。インタフェース装置57は、このコンピュータ50に接続される各種機器との間での各種情報の授受の管理を行う。記録媒体駆動装置58は、可搬型記録媒体60に記録されている各種の制御プログラムやデータの読み出しを行う装置である。MPU51は、可搬型記録媒体60に記録されている所定の制御プログラムを、記録媒体駆動装置58を介して読み出して実行することによって、後述する各種の制御処理を行うようにすることもできる。なお、可搬型記録媒体60としては、例えばCD-ROMCompactDiscReadOnlyMemoryやDVD-ROMDigitalVersatileDiscReadOnlyMemory、USBUniversalSerialBus規格のコネクタが備えられているフラッシュメモリなどがある。このようなコンピュータ50を用いて配線設計支援装置1を構成するには、例えば、後にフローチャートを示して説明する配線経路自動設計処理をMPU51に行わせるための制御プログラムを作成する。作成された制御プログラムはハードディスク装置54若しくは可搬型記録媒体60に予め格納しておく。そして、MPU51に所定の指示を与えてこの制御プログラムを読み出させて実行させる。こうすることで、配線設計支援装置1の構成要素が各々有している機能のコンピュータ50での提供が可能となる。次に、図1の配線設計支援装置1により行われる配線経路の決定の手法について図面を参照しながら説明する。配線設計支援装置1では、フローネットワークにおける最大フロー問題の解法のひとつとして広く知られている、エドモンズカープのアルゴリズムEdmondsKarpalgorithmを利用して、この配線経路の決定を行う。図4は、フローネットワークの一例である。このフローネットワークはAからGまでの計7個のノード頂点を備えている。ここでは、このうちのAをフローの始点、すなわちフローが生成されるノードとし、Gをフローの終点、すなわちフローが消費されるノードとする。フローネットワークにおいては、始点と終点とを除く各ノードでは、流入するフロー量と流出するフロー量との合計はゼロであるという、フロー保存則が適用される。また、図4の例では、各ノード間の枝アークにはフローの向きが矢印のように定義されている。なお、各枝にf/cの形式で文字が付されている。ここで、fは、その枝を流れるフローの量を表しており、cは、その枝の容量、すなわち、その枝に流すことのできる最大のフロー量を表している。各枝では、この容量の範囲内であれば、矢印で示されている向きとは逆向きにフローが流れることが許容される。なお、図4の例は、初期状態を表しており、全ての枝のフローの量が0となっている。最大フロー問題は、フローネットワークにおいて、始点から終点へのフロー量が最大となるフローを求めるというものである。エドモンズカープのアルゴリズムは、この最大フロー問題を以下のようにして解く。すなわち、始点から終点への経路の探索を幅優先探索により行う。ここで、経路上の各枝の容量に余裕があれば、その経路によるフローの形成を行うバックトレース。この手続きを新たな経路が発見できなくなるまで反復するイタレーション。図4に例示したフローネットワークについての最大フロー問題を、エドモンズカープのアルゴリズムを用いて解く手順を図5A、図5B、図5C、図5D、図5E、及び図6の各図を参照しながら説明する。まず、イタレーション1回目について、図5Aの各図を参照しながら説明する。最初に1波目の図に注目する。1波目とは始点から枝を1本だけ経由するまでの経路である。始点であるAに隣接する1本の枝で直接結ばれているノードのうち、Aからのフローが流入可能であるノードは、フローの向きを考慮すると、C又はDである。このとき、AからCへの枝の容量を考慮すると、AからCへ流し得るフロー量は3である。ここでは、このフロー量3のフローがCに流入すると仮定する。また、同様に、AからDへのフローによって、フロー量3のフローがDに流入すると仮定する。次に2波目の図に注目する。2波目とは始点から枝を2本経由するまでの経路である。まずCについて考える。Cに隣接するノードのうち、AからCに流入したフローが流入可能であるノードはBのみである。このとき、CからBへの枝の容量を考慮すると、Cに流入したフローのうちBへ流し得るフロー量は3である。ここでは、このフロー量3のフローがBに流入すると仮定する。前述したように、エドモンズカープのアルゴリズムでは、経路の探索を幅優先探索により行う。従って、次に行う経路の探索は、2波目で到達したBからの経路の探索ではなく、1波目で到達したノードのうち、経路の探索を未だ行っていないDからの経路の探索となる。Dに隣接するノードのうち、AからDに流入したフローが流入可能であるノードとしてはEとFとがある。まずEについて検討する。DからEへの枝の容量を考慮すると、Dに流入したフローのうちEへ流し得るフロー量は2である。ここでは、このフロー量2のフローがEに流入すると仮定する。次にFについて検討する。Dに流入したフロー量を考慮すると、Dに流入したフローのうちFへ流し得るフロー量は3である。ここでは、このフロー量3のフローがFに流入すると仮定する。次に3波目の図に注目する。3波目とは始点から枝を3本経由するまでの経路である。まずBについて考える。Bに隣接するノードのうち、AからCを経由してBに流入したフローが流入可能であるノードはA、D、及びEである。ここでは、Bからフロー量3のフローがAに流入すると仮定し、Bからフロー量1のフローがDに流入すると仮定し、Bからフロー量2のフローがEに流入すると仮定する。次に、2波目で到達したノードのうち、経路の探索を未だ行っていないEについて考える。Eに隣接するノードのうち、AからDを経由してEに流入したフローが流入可能であるノードはC又はGである。このうち、Cについては、EからCへの枝の容量を考慮して、フロー量1のフローがCに流入すると仮定する。次にGについて考える。ここで注目すべきは、このGが終点であることである。つまり、ここまでの経路探索によって、始点であるAから流出したフローが終点であるGに到達する。この結果、イタレーション1回目の経路探索は終了する。なお、このとき、AからD及びEを経由してGに流入し得るフロー量は、EからGへの枝の容量を考慮すると、1である。この結果、AからD及びEを経由してGに流入する、フロー量1のフローが形成される。バックトレースの図は、このイタレーション1回目の経路探索によって発見された経路を太線の矢印で示したものである。なお、この図では、この経路を構成している各枝のフローの量が1と表示されている。次に、イタレーション2回目について、図5Bの各図を参照しながら説明する。最初に1波目の図に注目する。始点であるAに隣接するノードのうち、Aからのフローが流入可能であるノードは、イタレーション1回目と同様、C又はDである。このとき、AからCへ流し得るフロー量は、イタレーション1回目と同様に3であるので、このフロー量3のフローがCに流入すると仮定する。その一方、AからDへの経路は、イタレーション1回目の経路探索によって発見された経路と重複しており、既にフロー量1のフローを流すこととしている。このため、AからDに残されている、流し得るフロー量残余容量と称することとする。は、元の容量3から1を減じた値2となっている。このフロー量2のフローがDに流入すると仮定する。次に2波目の図に注目する。まずCについて考える。Cに隣接するノードのうち、AからCに流入したフローが流入可能であるノードはBのみであり、Cに流入したフローのうちBへ流し得るフロー量は3であるので、このフロー量3のフローがBに流入すると仮定する。次に、1波目で到達したノードのうち、経路の探索を未だ行っていないDについて考える。Dに隣接するノードのうち、AからDに流入したフローが流入可能であるノードとしてはEとFとがある。まずEについて検討する。DからEへの経路は、イタレーション1回目の経路探索によって発見された経路と重複しており、既にフロー量1のフローを流すこととしている。このため、DからEの残余容量は、元の容量2から1を減じた値1となっている。このフロー量1のフローがDに流入すると仮定する。次にFについて検討する。イタレーション2回目においてDに流入したフロー量を考慮すると、Dに流入したフローのうちFへ流し得るフロー量は2である。ここでは、このフロー量2のフローがFに流入すると仮定する。次に3波目の図に注目する。まずBについて考える。Bに隣接するノードのうち、AからCを経由してBに流入したフローが流入可能であるノードはA、D、及びEである。ここでは、Bからフロー量3のフローがAに流入すると仮定し、Bからフロー量1のフローがDに流入すると仮定し、Bからフロー量2のフローがEに流入すると仮定する。次に、2波目で到達したノードのうち、経路の探索を未だ行っていないEについて考える。Eに隣接するノードのうち、AからDを経由してEに流入したフローが流入可能であるノードはC又はGである。但し、EからGへの経路は、イタレーション1回目の経路探索によって発見された経路と重複しており、既にフロー量1のフローを流すこととしている。このため、EからGの残余容量は、元の容量1から1を減じた値0となっている。このため、イタレーション2回目では、EからGへの経路にフローを増加させることはできない。一方、Cについては、EからCへの枝の容量を考慮して、フロー量1のフローがCに流入すると仮定する。次に、2波目で到達したノードのうち、経路の探索を未だ行っていないFについて考える。Fに隣接するノードのうち、AからDを経由してFに流入したフローが流入可能であるノードはGである。つまり、ここまでの経路探索によって、始点であるAから流出したフローが終点であるGに到達する。この結果、イタレーション2回目の経路探索は終了する。なお、このとき、AからD及びFを経由してGに流入し得るフロー量は、イタレーション2回目においてDに流入したフロー量を考慮すると、2である。この結果、AからD及びFを経由してGに流入する、フロー量2のフローが形成される。バックトレースの図は、イタレーション1回目及びイタレーション2回目の経路探索によって発見された経路を太線の矢印で示したものである。なお、この図では、イタレーション1回目とイタレーション2回目との経路探索によって発見された2つの経路で共用しているAからDへの枝についてのフローの量が、2つの経路の各々のフロー量の合計値である3と表示されている。一方、イタレーション2回目の経路探索によって発見された経路のうち、イタレーション1回目の経路探索によって発見された経路では使用されていない、DからFへの枝及びFからGへの枝については、フローの量が2と表示されている。次のイタレーション3回目については、イタレーション2回目と同様の手順であるので、詳細な説明を省略する。このイタレーション3回目によって、AからC、B、D、及びFを経由してGに流入する、フロー量1のフローが形成される。図5Cにおけるバックトレースの図は、イタレーション1回目、イタレーション2回目、及びイタレーション2回目の経路探索によって発見された経路を太線の矢印で示したものである。次に、イタレーション4回目について、図5Dの各図を参照しながら説明する。最初に1波目の図に注目する。始点であるAに隣接するノードのうち、Aからのフローが流入可能であるノードはC又はDである。但し、これまでの経路探索によって、AからDへの枝の残余容量は0となっているため、Aからのフローが流入可能であるノードはCのみである。ここでは、フロー量2のフローがAからCに流入すると仮定する。次に2波目の図に注目する。Cについて考える。Cに隣接するノードのうち、Aからのフローが流入可能であるノードはBのみである。このときのCからBへの枝の残余容量は2であり、AからCに流入すると仮定したフロー量と同一であるので、ここでは、フロー量2のフローがCからBに流入すると仮定する。次に3波目の図に注目する。Bについて考える。Bに隣接するノードのうち、AからCを経由したフローが流入可能であるノードはA、D、及びEであった。但し、このときのBからDへの枝の残余容量は0である。従って、ここでは、フロー量2のフローがBからAに流入すると仮定し、また、フロー量2のフローがBからEに流入すると仮定する。次に4波目の図に注目する。まずAについて考えるが、このAは始点であり、始点から終点に至る経路の探索において当該始点自体を経由する経路は不適切であるので、この経路は無効とする。次にEについて考える。Eに隣接するノードのうち、AからC及びBを経由したフローが流入可能であるノードは、一見するとC及びGのみであるように見えるが、ここでEからDに向かう経路に注目する。EからDに向かう経路を構成している枝の容量は2であり、イタレーション3回目までの経路探索によって、逆流の向きDからEに向かう向きであるフロー量1のフローが既に形成されている。このような場合には、EからDに向かう方向には、この逆流を相殺する量のフロー、すなわちフロー量1のフローを流し得ると見ることができる。このように考えると、Eに隣接するノードのうち、AからC及びBを経由したフローが流入可能であるノードは、C及びGに加えて、Dも存在することが分かる。なお、EからGへの枝の残余容量は既に0となっているため、AからC及びBを経由したフローをEからGへ流すことはできない。よって、ここでは、Eからフロー量1のフローがCに流入すると仮定し、更に、Eからフロー量1のフローがDに流入すると仮定する。次に5波目の図に注目する。まずCについて考えるが、イタレーション4回目のここまでの経路は、A→C→B→E→Cとなり、Cにおいて経路が環状になってしまう。このような環状経路は不適切であるので、この経路は無効とする。次にDについて考える。Dに隣接するノードのうち、AからC、B、及びEを経由したフローが流入可能であるノードは、A及びFがあるが、DからAへの枝の残余容量は既に0となっているため、ここでは、Dからフロー量1のフローがFに流入すると仮定する。次に6波目の図に注目する。Fに隣接するノードのうち、AからC、B、E、及びDを経由したフローが流入可能であるノードは、Gである。つまり、ここまでの経路探索によって、始点であるAから流出したフローが終点であるGに到達する。この結果、イタレーション4回目の経路探索は終了する。この結果、AからC、B、E、D、及びFを経由してGに流入する、フロー量1のフローが形成される。バックトレースの図は、イタレーション1回目からイタレーション4回目の経路探索によって発見された経路を太線の矢印で示したものである。次に、イタレーション5回目について、図5Eの各図を参照しながら説明する。このイタレーション5回目では、1波目から3波目までの手順により、A→C→B→A及びA→C→B→Eまでの経路の探索が行われるが、次の4波目の手順において、これに続く適切な経路が存在しない飽和することが判明する。この結果、イタレーション5回目が終了すると共に、経路の探索が全て終了する。以上までの経路探索の反復により発見された経路を図6に示す。図6における結果の図は、最終的に発見されたフローを表しており、図4に例示したフローネットワークについての最大フロー問題の解である。配線設計支援装置1では、フローネットワーク作成部14が作成したフローネットワークに対し、フロー経路探索部15が、以上までに説明したエドモンズカープのアルゴリズムを利用した最大フローの経路の探索を行う。次に、この配線設計支援装置1が行う、配線経路の自動設計手順の概要を、図面を用いて説明する。まず、フローネットワークの作成について、図7及び図8を参照しながら説明する。最初に、有向グラフ定義部11が、格子点をノードとし、隣接する格子点間を結ぶ線分を枝とする有向グラフを、プリント配線板における、配線経路を作成する対象領域面上に定義する。図7は、有向グラフ定義部11が対象領域面上に有向グラフを定義した状態の例を表している。なお、図における丸印がノードであり、隣接する丸印を結ぶ線分が枝である。なお、このとき、格子点の間隔は、この対象領域面上でのプリント配線における線幅及び配線間隔の定義に基づいて設定する。次に、配線禁止領域情報取得部12が、配線禁止領域情報31を記憶装置30から取得する。図7の例においては、配線禁止領域情報31によって示されている配線禁止領域を、斜線が付されている矩形領域で表現している。次に、結線情報取得部13は、対象領域面上に定義されている格子点のうちで、複数の配線の各々によってそれぞれ結ばれる複数組の格子点の組の情報である結線情報を取得する。結線情報取得部13は、この結線情報を、記憶装置30に記憶されている論理接続情報32と部品情報33とから求める。ここでは、結線情報取得部13は、論理接続情報32から、配線経路により接続を行う一対の端子を特定する情報として、第一組、第二組、第三組の計3組の情報を得たものとする。また、部品情報33は、上記第一組の情報である一対の端子の対象領域面上の位置が、それぞれ図7の例における格子点A及びDの近傍であったものとする。また、同様に、上記第二組の情報である一対の端子が、それぞれ格子点B及びEの近傍であり、上記第三組の情報である一対の端子が、それぞれ格子点C及びFの近傍であったとものする。この場合、結線情報取得部13は、結線情報として、AとDとの組、BとEとの組、CとFとの組を獲得する。次に、フローネットワーク作成部14が、以下の手順に従ってフローネットワークの作成を行う。まず、フローネットワーク作成部14は、有向グラフ定義部11が定義した有向グラフを構成している枝のうちで、配線禁止領域情報31で示されている領域内に位置している格子点に繋がっている枝に対しフロー容量を0に設定する。そして、その他の枝に対しては、フロー容量を1に設定する。フローネットワーク作成部14は、前述の複数組の格子点の各組に属している一対の格子点に、フロー容量が1である枝を介してフローの始点と終点とをそれぞれ接続する。図7の例では、結線情報で示されている一対の端子のうちの一方である、格子点A、B、及びCに始点Sが接続され、当該一対の端子のうちの他方である、格子点D、E、及びFに終点Tが接続されている。なお、結線情報で示されている端子が2端子部品の端子である場合には、フローネットワーク作成部14は、始点S及び終点Tを図8のように接続する。図8の例は、結線情報取得部13が獲得した結線情報に、格子点AとGとの組が含まれており、このうちの格子点Gの近傍の端子が、2端子部品の一方の端子であり、その他方の端子が、格子点Dの近傍であった場合の例である。この場合、結線情報取得部13は、格子点AとGとの組の結線情報に、格子点Dを含める。この図8の例の場合、フローネットワーク作成部14は、この2端子部品についての中継ノードJを新規に定義し、この中継ノードJを格子点Gと終点Tとを接続する枝の途中に挿入する。なお、このときの格子点G及び終点Tの各々と中継ノードJとを接続している枝のフロー容量も1とする。更に、フローネットワーク作成部14は、中継ノードJと格子点Dとをフロー容量が1である枝を介して接続する。この場合には、配線設計支援装置1は格子点Aと格子点Jとを結ぶ配線経路の自動設計を行う。この自動設計により得られる配線経路は、格子点D又は格子点Gを必ず経由する。このようにしておくと、論理接続情報32が、格子点AとGとに対応する端子を接続するというものであった場合でも、格子点Gを経由せずに格子点Dを経由して格子点Jに至る配線経路を見出す可能性が生じる。この配線経路は論理接続情報32とは整合しないものになるが、このような場合には、2端子部品の配置方向を反転180度回転させるだけで、配線経路と結線情報との不整合は解消する。図8の例のような場合においては、格子点Aから格子点Gに至る配線経路よりも、格子点Aから格子点Dに至る配線経路の方が、経路長が短くなることは明白である。2端子部品情報交換部17が行う端子の配置位置の情報の変更は、この2端子部品の配置方向の反転に相当するものである。なお、図8の例は、更に、格子点Eに対応する端子が2端子部品の一方の端子であって他方の端子が格子点Hに対応しており、格子点Eに対応する端子が2端子部品の一方の端子であって他方の端子が格子点Hに対応している場合を想定している。従って、フローネットワーク作成部14は、格子点E及び格子点Hに接続される格子点Kと、格子点F及び格子点Iに接続される格子点Lとを更に設け、この格子点K及び格子点Lにそれぞれ終点Tを接続している。なお、以降は、フローネットワーク作成部14によって図8のフローネットワークが作成されたものとして説明を続ける。次に、フロー経路探索部15が、フローネットワーク作成部14が各枝について設定したフロー容量の下で始点Sから終点Tへのフロー量が最大となるフローの経路を、フローネットワーク作成部14が作成した図8のフローネットワークから探索する。本実施例においては、フロー経路探索部15は、この最大フローの経路の探索を、前述したエドモンズカープのアルゴリズムを利用して行う。図9A、図9B、及び図9Cの各図は、エドモンズカープのアルゴリズムによる、図8に例示したフローネットワークにおける最大フローの経路の探索の途中の様子をそれぞれ図解したものであり、図9Dは、その最大フローの解である。なお、図9A~図9Dの各図においては、配線禁止領域、当該配線禁止領域内に位置している格子点、及び当該格子点に繋がっている枝の描画を省略した。図9Aは、イタレーション1回目の経路探索によって発見された経路を太線の矢印で示したものであり、ここでは、始点Sから格子点A及びE並びに中継ノードKを経由して終点Tに至る経路が発見されたものとしている。図9Bは、イタレーション2回目の経路探索によって発見された経路を太線の矢印で示したものである。この図9Bでは、イタレーション1回目の経路探索によって発見された経路は破線の矢印で示されている。ここでは、始点Sから格子点B、A、及びD並びに中継ノードJを経由して終点Tに至る経路が発見されたものとしている。ここで逆流との文字が付されている枝は、イタレーション1回目の経路探索によって発見された経路に含まれており、その向きが1回目の向きとは逆向きであることを表している。この場合には、フロー経路探索部15は、この逆流が発生した枝で2つの経路の流れを遮断すると共に、その枝の両端の格子点の各々で、2つの経路を接続する。この結果、始点Sから格子点A及びD並びに中継ノードJを経由して終点Tに至る経路と、始点Sから格子点B及びE並びに中継ノードKを経由して終点Tに至る経路とが形成される。図9Cは、イタレーション2回目の経路探索によって発見された経路を太線の矢印で示したものである。この図9Cでは、イタレーション2回目までの経路探索によって発見された経路は破線の矢印で示されている。ここでは、始点Sから格子点C、E、及びF並びに中継ノードLを経由して終点Tに至る経路が発見されたものとしている。但し、ここでは、図示されている2箇所の枝で逆流が発生したものとしている。フロー経路探索部15は、この逆流が発生した枝で2つの経路の流れを遮断すると共に、その枝の両端の格子点の各々で、2つの経路を接続する。この結果、始点Sから格子点B及びE並びに中継ノードKを経由して終点Tに至る経路と、始点Sから格子点C及びF並びに中継ノードFを経由して終点Tに至る経路とが形成される。図9Dは、以上までのイタレーションによって経路の探索が全て終了して、始点Sから終点Tに至る3つの経路が発見されたこと表している。配線経路決定部16は、以上のようにして得られた3つの経路に従い、格子点AとDとを結ぶ配線経路、格子点BとEとを結ぶ配線経路、及び格子点CとFとを結ぶ配線経路の3つの配線経路を、プリント配線板の対象領域面上に形成する。配線設計支援装置1は、以上のようにして配線経路の自動設計を行う。次に、本実施例に係る配線設計支援装置1によって行われる、配線経路自動設計処理の手順の概要を、図10A及び図10Bを参照しながら説明する。図10Aにおける1の図は、論理接続情報32によって示されている、部品A71の各端子と、同一形状である複数の部品B72の各々の端子との接続関係を破線により例示したものである。なお、部品A71は多ピン部品であり、部品Bは2端子部品である。ここで、部品A71と部品B72の各々とは、プリント配線板上における部品情報33により示されている位置に配置されている状態を表している。配線設計支援装置1の使用者が、配線経路の自動設計の開始を示している所定の指示を配線設計支援装置1に対して与えると、配線設計支援装置1は、まず、論理接続情報32及び部品情報33から配線対象の端子を有する部品の情報を抽出する。そして、配線によって接続される一方の端子を終点T側とし、他方の端子を始点S側とする。なお、ここで、配線設計支援装置1は、情報が抽出された部品B72が2端子部品である場合には、2端子部品の2つの端子を終点T側とし、配線によってその部品B72の端子に接続される相手側の部品の端子を始点S側とする。次に、配線設計支援装置1は、プリント配線板の前述の対象領域面上に前述の有向グラフを定義する。続いて、配線設計支援装置1は、配線禁止領域情報31を取得して対象領域面上に配線禁止領域を設定し、更に、論理接続情報32及び部品情報33から、前述の結線情報を獲得する。図10Aにおける2の図には、この結線情報による結線対象である各格子点の位置がx印で表されている。次に、配線設計支援装置1は、前述のネットワークフローの作成を行い、更に、作成したネットワークフローにおいて始点Sから終点Tへのフロー量が最大となるフローの経路の探索を行う。そして、この探索結果によって得られた経路に従って配線経路をプリント配線板の対象領域面上に形成する。図10Aにおける3の図は、このようにして形成された配線経路が太線で表示されている。ここで、図10Aの1の図に破線で示されている、論理接続情報32によって示されている接続関係と、図10Aの3の図に太線で示されている配線経路とは整合していない。但し、部品B72はいずれも形状が同一であるので、自身の配置位置を、他の部品B72の配置位置と交換することができる。そこで、配線設計支援装置1は、この場合に、この配線経路により接続を行う部品B72の配置位置の情報を次々に入れ替えて、各配線で接続される端子の接続関係を、論理接続情報32によって示されている接続関係に整合させる。2端子部品情報交換部17が行う端子の配置位置の情報の変更は、この部品B72の配置位置の交換に相当するものである。このようにして、論理接続情報32によって示されている接続関係を一旦無視して配線経路を形成し、その後に論理接続情報32との整合を取るようにすると、遅い順序での配線経路の作成のために既に配置済みの配線の経路の修正が必要となるケースが減少する。この結果、設計作業に要する時間の短縮化に寄与する。なお、配線対象の一方の経路が、前述の多連集合部品である場合には、配線経路自動設計処理は、以下のような手順で行われる。図10Bにおける1の図は、論理接続情報32によって示されている、部品A71の各端子と、同一形状である複数の部品C73の各々の端子との接続関係を破線により例示したものである。なお、部品A71は多ピン部品であり、部品C73は多連集合部品である。ここで、部品A71と部品C73の各々とは、プリント配線板上における部品情報33により示されている位置に配置されている状態を表している。配線設計支援装置1の使用者が、配線経路の自動設計の開始を示している所定の指示を配線設計支援装置1に対して与えると、配線設計支援装置1は、まず、論理接続情報32及び部品情報33から配線対象の端子を有する部品の情報を抽出する。そして、配線によって接続される一方の端子を終点T側とし、他方の端子を始点S側とする。なお、ここで、配線設計支援装置1は、情報が抽出された部品が多連集合部品である場合には、多連集合部品の2つの端子を終点T側とし、配線によってその多連集合部品の端子に接続される相手側の部品の端子を始点S側とする。次に、配線設計支援装置1は、プリント配線板の前述の対象領域面上に前述の有向グラフを定義する。続いて、配線設計支援装置1は、配線禁止領域情報31を取得して対象領域面上に配線禁止領域を設定し、更に、論理接続情報32及び部品情報33から、前述の結線情報を獲得する。図10Bにおける2の図には、この結線情報による結線対象である各格子点の位置がx印で表されている。次に、配線設計支援装置1は、前述のネットワークフローの作成を行い、更に、作成したネットワークフローにおいて始点Sから終点Tへのフロー量が最大となるフローの経路の探索を行う。そして、この探索結果によって得られた経路に従って配線経路をプリント配線板の対象領域面上に形成する。図10Bにおける3の図は、このようにして形成された配線経路が太線で表示されている。ここで、図10Bの1の図に破線で示されている、論理接続情報32によって示されている接続関係と、図10Bの3の図に太線で示されている配線経路とは整合していない。但し、部品C73はいずれも形状が同一であり、更に、多連集合部品である部品C73を構成している複数の2端子素子の素子値も同一である。従って、配線による接続先の部品C73の端子を、自身の他の2端子素子の端子、若しくは他の部品C73の2端子素子の端子と交換することができる。多連集合部品情報交換部18が行う端子の配置位置の情報の変更は、この部品C73を構成する2端子素子の他の2端子素子への交換に相当するものである。このようにして、論理接続情報32によって示されている接続関係を一旦無視して配線経路を形成し、その後に論理接続情報32との整合を取るようにすると、遅い順序での配線経路の作成のために既に配置済みの配線の経路の修正が必要となるケースが減少する。この結果、設計作業に要する時間の短縮化に寄与する。以下、配線設計支援装置1によって行われる配線経路自動設計処理の具体的な処理内容について説明する。まず図11について説明する。図11は、配線経路自動設計処理の処理内容を図解したフローチャートである。この処理は、配線設計支援装置1の使用者以下、単に使用者と称することとする。がマウス装置42やキーボード装置43を操作して行われる所定の実行開始指示をMPU10が検出すると開始される。図11において、まず、S11では、使用者がマウス装置42やキーボード装置43を操作して入力される、自動配線を行わせるプリント配線板上の配線対象領域及び配線層を特定する指示を取得する処理が行われる。次に、S100において、有向グラフ定義処理をMPU10の有向グラフ定義部11が行う。次に、S200において、配線禁止領域情報取得処理をMPU10の配線禁止領域情報取得部12が行う。次に、S300において、結線情報取得処理をMPU10の結線情報取得部13が行う。次に、S400において、フローネットワーク作成処理をMPU10のフローネットワーク作成部14が行う。次に、S500において、フロー経路探索処理をMPU10のフロー経路探索部15が行う。次に、S600において、配線経路決定処理をMPU10の配線経路決定部16が行う。次に、S700において、2端子部品情報交換処理及び多連集合部品情報交換処理をMPU10が行う。ここで、2端子部品情報交換処理は、配線対象の端子が2端子部品のもの若しくは多連集合部品のものである場合にMPU10の2端子部品情報交換部17により行われる処理である。また、多連集合部品情報交換処理は、配線対象の端子が多連集合部品のものである場合にMPU10の多連集合部品情報交換部18により行われる処理である。以上のS700までの処理を終えると、図11の配線経路自動設計処理が終了する。次に、図11におけるS100からS700までの各処理の詳細について説明する。まず、図11のS100の処理である有向グラフ定義処理を説明する。図12は、有向グラフ定義処理の処理内容を図解したフローチャートである。図12のフローチャートを説明する前に、まず、この有向グラフ定義処理においてのノード及び枝の定義の手法について、図13を用いて説明する。この有向グラフ定義処理では、各格子点について、格子点にフローが流入する向きである入力専用のノード入力ノード、及び、格子点からフローが流出する向きである出力専用のノード出力ノード、並びに、入力ノードと出力ノードとを結ぶ枝を定義する。更に、この処理では、隣接する2つの格子点間を結ぶ枝として、その一方の格子点の出力ノードとその他方の格子点の入力ノードとを結ぶ枝、及び、当該他方の格子点の出力ノードと当該一方の格子点の入力ノードとを結ぶ枝とを定義する。図13は、この定義を図解したものである。図13において、左側の図は、有向グラフ定義処理により定義されるプリント配線板上の配線対象領域上に定義された有向グラフの例である。また、右側の図は、この左側の図において破線の矩形で囲まれている領域を拡大したものである。この右側の図において、破線の円が格子点を表している。また、この破線円内に配置されている、x印及び丸印が付されている円が、有向グラフ定義処理により定義される入力ノード及び出力ノードをそれぞれ表している。なお、この右側の図における双方向の矢印は、有向グラフ定義処理により定義される枝を表している。図12の説明を始める。まず、S101において、有向グラフ定義部11は、プリント配線板上の配線対象領域上に格子を定義し、この格子における各格子点に、入力ノードと出力ノードとを設定する処理を行う。次に、S102において、有向グラフ定義部11は、隣接する格子点間において、入力ノードと出力ノードとを結ぶ枝を設定する処理を行う。このとき、枝で結ばれたノード間の一方から、その他方のノードが特定できるようにしておく。次に、S103において、有向グラフ定義部11は、S101の処理で格子点毎に設定した入力ノードと出力ノードとを結ぶ枝を設定する処理を行う。このとき、枝で結ばれたノード間の一方から、その他方のノードが特定できるようにしておく。以上の処理を終えると、有向グラフ定義処理が終了する。ここで図14A及び図14Bについて説明する。図14Aは、上述した有向グラフ定義処理により作成されるノード情報テーブル81のデータ構造を表しており、図14Bは、有向グラフ定義処理により作成される枝情報テーブル82のデータ構造を表している。図14Aに表されているように、ノード情報テーブル81は、番号、座標、枝数、枝番号の各項目のデータを対応付けたテーブルである。ここで、番号には、有向グラフ定義部11が設定したノードを識別する番号が格納される。また、座標には、このノードが設定された格子点についての、プリント配線板上の配線対象領域上の位置を特定する座標データが格納される。枝数には、このノードから流出する向きの枝の本数のデータが格納される。また、枝番号には、このノードから流出する向きである各枝を特定するデータが格納される。なお、ノード情報テーブル81において、番号がSCTである行のデータは、後述するフローネットワーク作成処理によってノード情報テーブル81に追加される。図14Bに表されているように、枝情報テーブル82は、番号、ノード情報、及び容量の各項目のデータを対応付けたテーブルである。ここで、番号には、有向グラフ定義部11が設定した枝を識別する番号データが格納される。なお、この番号データが、ノード情報テーブル81における枝番号の項目に使用される。ノード情報には、この枝が向かう流入先のノードを特定するデータが格納される。この項目のデータには、ノード情報テーブル81における番号データの番号が使用される。なお、容量には、この枝の容量データが格納されるが、その値は、後述するフローネットワーク作成処理によって設定される。図12の有向グラフ定義処理では、まず、S101の処理によってノード情報テーブル81の各レコードを生成して番号及び座標のデータを格納する処理が行われる。続くS102及びS103の処理では、枝情報テーブル82の各レコードをまず生成して番号及びノード情報のデータが格納され、次に、ノード情報テーブル81の枝番号のデータが格納される。次に、図11のS200の処理である配線禁止領域情報取得処理を説明する。図15は、配線禁止領域情報取得処理の処理内容を図解したフローチャートである。図15のS201では、配線禁止領域情報31を取得して、配線禁止領域情報31で示されている配線禁止領域内に位置している格子点に有向グラフ定義部11が設定していたノードを特定する処理を配線禁止領域情報取得部12が行う。この処理を終えると、配線禁止領域情報取得処理が終了する。ここで図16について説明する。図16は、上述した配線禁止領域情報取得処理により作成される使用禁止ノードテーブル83のデータ構造を表している。図16に表されているように、使用禁止ノードテーブル83は、ノード番号データを有している。このノード番号データは、配線禁止領域情報31で示されている配線禁止領域内に位置している格子点に有向グラフ定義部11が設定していたノードを特定するデータである。なお、このデータは、当該ノードについてノード情報テーブル81で設定されている番号データが格納される。図15のS201では、配線禁止領域情報31で示されている領域内に位置している格子点に有向グラフ定義部11が設定していたノードについての番号データを、使用禁止ノードテーブル83に格納する処理が配線禁止領域情報取得部12により行われる。次に、図11のS300の処理である結線情報取得処理を説明する。図17は、結線情報取得処理の処理内容を図解したフローチャートである。図17において、まず、S301では、論理接続情報32及び部品情報33を取得すると共に、これらの情報に基づいて、自動設計を行う配線による接続対象である各端子のプリント配線板上での位置を取得する処理を結線情報取得部13が行う。次に、S302において、ノード情報テーブル81を参照し、S301の処理で取得した各端子の位置に最も近い格子点の入力ノードを特定し、特定した入力ノードと端子との対応関係情報を生成する処理を結線情報取得部13が行う。ここで図18について説明する。図18は、この結線情報取得処理により作成される端点要素引き当てテーブル84のデータ構造を表している。端点要素引き当てテーブル84は、上述した入力ノードと各端子との対応関係が表されてるテーブルである。図18に表されているように、端点要素引き当てテーブル84は、ノード番号、部品ピン名、組番号、接続名、及び反転の各項目のデータを対応付けたテーブルである。部品ピン名には、自動設計を行う配線による接続対象である端子を特定するデータが格納される。なお、このデータは、論理接続情報32の始点ピン名及び終点ピン名の項目の情報である。ノード番号には、部品ピン名で特定される端子の位置に最も近い格子点に設定されている入力ノードを特定するデータが格納される。なお、このデータには、当該ノードについてノード情報テーブル81で設定されている番号データが使用される。組番号には、部品ピン名で特定される端子を有している部品を、他の部品と区別するためのデータが格納される。図18の例では、第1行から第5行までの各端子は、いずれも組番号データが0であるので、全て同一の部品LSI1が有している端子であることを表している。接続名には、部品ピン名に示されている端子名について論理接続情報32において対応付けられている接続名の項目の情報が格納される。なお、この接続名の情報の格納は、後述する配線経路決定処理によって行われ、情報が格納されるまでは空白ヌルデータとしておく。図17の結線情報取得処理では、S302の処理によって特定された入力ノード毎に端点要素引き当てテーブル84の各レコードが作成されて、ノード番号と部品ピン名とが対応付けられて対応関係情報が表される。また、組番号及び接続名の項目のデータについては、論理接続情報32のデータに基づいて結線情報取得部13が生成して格納する。なお、端点要素引き当てテーブル84における反転の項目には、初期値として値0が格納されるが、これより説明する図17のS303及びS304の処理により、値1が格納される。図17の説明に戻る。S303の処理は、S301の処理で取得した端子が2端子部品の一方の端子であった場合に行われる処理である。この場合に、結線情報取得部13は、まず、当該2端子部品の他方の端子のプリント配線板上での位置を取得する。そして次に、ノード情報テーブル81を参照して、当該他方の端子の位置に最も近い格子点の入力ノードを特定し、特定した入力ノードと当該他方の端子との対応関係情報を生成する処理を行う。この処理により、端点要素引き当てテーブル84にレコードが追加されて、ノード番号と部品ピン名とが対応付けられて対応関係情報が表される。また、組番号及び接続名の項目のデータについては、論理接続情報32のデータに基づいて結線情報取得部13が生成して格納する。更に、このS303の処理では、端点要素引き当てテーブル84における当該他方の端子についてのレコードの反転の項目の値を1に設定する処理を結線情報取得部13が行う。次に、S304の処理は、S301の処理で取得した端子が多連集合部品を構成している2端子素子の一方の端子であった場合に行われる処理である。この場合に、結線情報取得部13は、まず、当該2端子素子の他方の端子のプリント配線板上での位置を取得する。そして次に、ノード情報テーブル81を参照して、当該他方の端子の位置に最も近い格子点の入力ノードを特定し、特定した入力ノードと当該他方の端子との対応関係情報を生成する処理を行う。この処理により、端点要素引き当てテーブル84にレコードが追加されて、ノード番号と部品ピン名とが対応付けられて対応関係情報が表される。また、組番号及び接続名の項目のデータについては、論理接続情報32のデータに基づいて結線情報取得部13が生成して格納する。更に、このS304の処理では、端点要素引き当てテーブル84における当該他方の端子についてのレコードの反転の項目の値を1に設定する処理を結線情報取得部13が行う。以上の処理を終えると、結線情報取得処理が終了する。次に、図11のS400の処理であるフローネットワーク作成処理を説明する。図19は、フローネットワーク作成処理の処理内容を図解したフローチャートである。図19において、S401からS403にかけての処理は、有向グラフ定義部11により定義された有向グラフの各枝に対してフロー容量を設定する処理である。なお、このフロー容量の設定は、枝情報テーブル82の容量の項目に対して行われる。まず、S401では、有向グラフの枝のうちの同一格子点内すなわち、枝情報テーブル82の座標データが一致での入力ノードから出力ノードに向かう全ての枝に対して、フロー容量を1に設定する処理をフローネットワーク作成部14が行う。なお、入力ノードは、ノード情報テーブル81において枝数データが1であるノードであり、出力ノードは、枝数データが1ではないノードである。次に、S402では、有向グラフの枝のうちの隣接する格子点間での出力ノードから入力ノードに向かう全ての枝に対して、フロー容量を1に設定する処理をフローネットワーク作成部14が行う。図20Aは、図13の右側の図の有向グラフに対して、上述したS401及びS402の処理を行った結果を模式的に表した図である。以上までの処理によって、ノード間を結ぶ全ての枝に対して、この図に表されている矢印の向きにフロー容量1が設定される。次に、S403では、使用禁止ノードテーブル83を参照し、使用禁止ノードテーブル83にノード番号が格納されているノードを結んでいる全ての枝のフロー容量を0に設定する処理をフローネットワーク作成部14が行う。この処理により、配線禁止領域内を経由する経路が、自動設計される配線経路の候補から除外される。次に、S404では、有向グラフ定義部11により定義された有向グラフに対し、フローの始点であるSノードとフローの終点であるTノードとの定義を追加する処理をフローネットワーク作成部14が行う。この定義の追加は、ノード情報テーブル81に対して、番号がそれぞれS及びTである2つのレコードを追加することによって行われる。次に、S405では、Sノードから、格子点間の経路探索を行う一対の格子点の組のうちの一方に含まれる入力ノードに向かう枝を、当該組毎に作成する処理をフローネットワーク作成部14が行う。フローネットワーク作成部14は、このときに、論理接続情報32における始点ピン名を、端点要素引き当てテーブル84の部品ピン名から探索する処理を行う。そして、この探索処理により見つかった部品ピン名について端点要素引き当てテーブル84において対応付けられているノード番号で特定されるノードを、Sノードと結ぶ処理を行う。この処理は、Sノードからノードに向いている、フロー容量が1の枝のレコードを枝情報テーブル82に追加すると共に、この枝を特定する番号を、ノード情報テーブル81のSノードのレコードにおける枝番号に追加する処理である。次に、S406では、格子点間の経路探索を行う一対の格子点の組のうちの一方に含まれる出力ノードからTノードに向かう枝を、当該組毎に作成する処理をフローネットワーク作成部14が行う。フローネットワーク作成部14は、このときに、論理接続情報32における終点ピン名を、端点要素引き当てテーブル84の部品ピン名から探索する処理を行う。そして、この探索処理により見つかった部品ピン名について端点要素引き当てテーブル84において対応付けられているノード番号で特定されるノードを、Tノードと結ぶ処理を行う。この処理は、このノードからTノードに向いている、フロー容量が1の枝のレコードを枝情報テーブル82に追加すると共に、この枝を特定する番号を、ノード情報テーブル81のTノードのレコードにおける枝番号に追加する処理である。S407の処理は、論理接続情報32における終点ピン名が、2端子部品の端子であった場合にフローネットワーク作成部14が行う処理である。この処理では、まず、2端子部品における2つの端子にそれぞれ対応するノードのノード番号を端点要素引き当てテーブル84から探し出す処理が行われる。次に、有向グラフ定義部11により定義された有向グラフに対し、当該2端子部品についての中継ノードCの定義を追加する処理が行われる。そして、当該2端子部品の2つの端子に対応する2つのノードからそれぞれTノードへ向かう枝に、中継ノードCを挿入する処理が行われる。この挿入の処理は、当該2端子部品の一方の端子及び他方の端子に対応する2つのノードからTノードへ向かう枝の向きを中継ノードCに変更すると共に、中継ノードCからTノードへ向かう、フロー容量が1の枝を追加する処理である。図20Bは、この処理により中継ノードCが挿入された有向グラフの例を図解したものである。このS407の処理では、フローネットワーク作成部14は、具体的には、以下の処理を行う。まず、フローネットワーク作成部14は、枝情報テーブル82に対し中継ノードCからノードかに向かう枝のレコードを追加すると共に、ノード情報テーブル81に対し、番号がCであり当該枝を枝番号に含むレコードを追加する処理を行う。次に、ノード情報テーブル81において、2端子部品の2つの端子にそれぞれ対応している2つのノードのノード番号に対応付けられている枝番号について、枝情報テーブル82のレコードを参照する。そして、ノード情報がTであるものを見つけ出し、これをTからCに変更する。以上の処理を終えると、フローネットワーク作成処理が終了する。次に、図11のS500の処理であるフロー経路探索処理を説明する。図21A及び図21Bは、フロー経路探索処理の処理内容を図解したフローチャートである。また、図22は、このフロー経路探索処理で使用する各種データテーブルのデータ構造を表している。図21Aにおいて、まず、S501では、枝情報テーブル82のレコード数と同数のサイズの枝使用量テーブル85を作成し、この枝使用量テーブル85の全ての枝についての使用量を0に設定する処理をフロー経路探索部15が行う。図22に示されているように、枝使用量テーブル85は、番号と使用量との両項目のデータを対応付けたテーブルである。ここで、番号には、枝情報テーブル82において各枝の識別に用いられている番号が格納される。また、使用量には、番号で特定される枝に流すこととしている流量が格納される項目であり、このS501の処理により、初期値として0が設定される。次に、S502では、変数Pに初期値0を代入する処理をフロー経路探索部15が行う。S503は、図21BのS517と対になって処理のループを表している。フロー経路探索部15は、変数Pの値が自動設計を行う配線の数すなわち、論理接続情報32のレコード数に達するまで、S504から図21BのS516までの処理を繰り返す。このS504からS516までの処理が、エドモンズカープのアルゴリズムにおけるイタレーションの1回分に対応する。S504では、フロー経路探索部15は以下の処理を行う。まず、フロー経路探索部15は、待ち行列が空である経路探索用キューテーブル86を作成し、この経路探索用キューテーブル86に、Sノードを表すSを入れる処理を行う。経路探索用キューテーブル86は先入れ先出しFirstInFirstOutの待ち行列のテーブルである。図22に示されているように、経路探索用キューテーブル86には、ノード番号のデータとして、ノード情報テーブル81において各ノードの識別に用いられている番号が格納される。次に、フロー経路探索部15は、ノード情報テーブル81のレコード数と同数のサイズの参照元ノード管理テーブル87を作成する処理をフロー経路探索部15が行う。参照元ノード管理テーブル87は、経路の探索において、あるノードに到達した経路がそのノードの直前に経由したノード参照元ノードと称することとする。を管理するテーブルである。図22に示されているように、参照元ノード管理テーブル87は、番号と参照元ノード番号との両項目のデータを対応付けたテーブルであり、そのどちらにも、ノード情報テーブル81において各ノードの識別に用いられている番号が格納される。ここで、参照元ノード番号には、参照元ノード管理テーブル87における同一レコードの番号データで特定されるノードについての参照元ノードを特定するデータが格納される。次に、フロー経路探索部15は、参照元ノード管理テーブル87の参照元ノード番号の項目に初期値を代入する処理を行う。具体的には、フロー経路探索部15は、まず、参照元ノード管理テーブル87におけるSノードのレコード番号がSであるレコードにおける参照元ノード番号をSに設定する。Sノードはフローの始点であって参照元ノードが存在しないので、自分自身を参照元ノードと定義することにしたためである。次に、フロー経路探索部15は、参照元ノード管理テーブル87におけるSノード以外のレコードを、初期値として、今回のイタレーションで探索中の経路では当該ノードを経由しないことを表す0に設定する。フロー経路探索部15は、S504において以上の処理を行う。次のS505は、図21BのS513と対になって処理のループを表している。フロー経路探索部15は、経路探索用キューテーブル86が空になるまで、S506から図21BのS512までの処理を繰り返す。まず、S506では、経路探索用キューテーブル86からノード番号を先出しして取得する処理をフロー経路探索部15が行う。この処理により取得されたノード番号で特定されるノードをノードNとする。次のS507は、図21BのS512と対になって処理のループを表している。フロー経路探索部15は、ノード情報テーブル81におけるノードNについてのレコードを参照して、ノードNから流出する向きの各枝の枝番号のデータを取得し、この各枝について、S508からS511までの処理を行う。なお、S508からS511までの処理の説明では、処理の対象とする枝を枝Eとする。S508では、フロー経路探索部15は以下の処理を行う。まず、フロー経路探索部15は、枝情報テーブル82における枝Eについてのレコードを参照し、枝Eが向かう流入先のノードのノード情報のデータを取得する処理を行う。このノード情報のデータで特定されるノードをノードOとする。次に、フロー経路探索部15は、参照元ノード管理テーブル87におけるノードOについてのレコードを参照し、このレコードにおける参照元ノード番号が、初期値である0のままであるか否かを判定する処理を行う。ここで、フロー経路探索部15は、参照元ノード番号が0であると判定したとき判定結果がYesのときにはS509に処理を進める。一方、フロー経路探索部15は、参照元ノード番号が0ではなく、ノードOについての参照元のノードの番号が既に示されていると判定したとき判定結果がNoのときには、図21BのS512に処理を進める。S509では、参照元ノード管理テーブル87のノードOのレコードにおける参照元ノード番号に、今回のイタレーションでの経路探索におけるノードOについての参照元ノードである、ノードNを特定する番号を設定する処理をフロー経路探索部15が行う。次に、S510では、枝情報テーブル82における枝Eについてのレコードの容量の値から、枝使用量テーブル85における枝Eについてのレコードの使用量の値を減算した結果の値が正の値であるか否かを判定する処理をフロー経路探索部15が行う。ここで、フロー経路探索部15は、減算結果の値が正の値であり、今回のイタレーションでの探索によるフローを枝Eに流すことが可能であると判定したとき判定結果がYesのときにはS511に処理を進める。一方、フロー経路探索部15は、ここで、減算結果の値が正の値ではなく、今回のイタレーションで枝Eにフローをこれ以上流すことはできないと判定したとき判定結果がNoのときには、図21BのS512に処理を進める。次に、S511では、ノードOを特定する番号を、経路探索用キューテーブル86に入れる処理をフロー経路探索部15が行う。この結果、ノードOに続く経路の探索が、後に繰り返されるS506から図21BのS512までの処理により行われるようになる。図21Bに処理が進み、S512では、図21AのS507と対になって表されている処理のループを終了するか否かを判定する処理をフロー経路探索部15が行う。フロー経路探索部15は、ここで、ノードNから流出する向きの全ての枝について、このループ内の処理を済ませたと判定したときには、この処理のループを終了してS513に処理を進める。次に、S513では、図21AのS505と対になって表されている処理のループを終了するか否かを判定する処理をフロー経路探索部15が行う。フロー経路探索部15は、ここで、経路探索用キューテーブル86が空であると判定したときには、この処理のループを終了してS514に処理を進める。次に、S514では、参照元ノード管理テーブル87を参照し、Tノードについての参照元ノード番号が、初期値である0のままであるか否かを判定する処理をフロー経路探索部15が行う。フロー経路探索部15は、ここで、Tノードについての参照元ノード番号が0であると判定したとき判定結果がYesのときには、SノードからTノードに至る配線経路が必要数発見できなかったとして、このフロー経路探索処理を直ちに終了する。一方、フロー経路探索部15は、ここで、Tノードについての参照元ノード番号が0ではないと判定したとき判定結果がNoのときには、今回のイタレーションで経路が発見できたとして、S515に処理を進める。次に、S515では、フロー経路探索部15は以下の処理を行う。まず、フロー経路探索部15は、参照元ノード管理テーブル87を参照してTノードについての参照元ノードからSノードに至るまでの経路を逆向きに辿り、その経路を構成する各枝を特定する番号を、枝情報テーブル82から取得する処理を行う。次に、フロー経路探索部15は、枝使用量テーブル85を参照し、枝情報テーブル82から取得した各枝についての使用量の値を変更する処理を行う。ここで、各枝のうち、入力ノードから出力ノードに向かう枝についての使用量は、その枝についての現在の使用量の値に1を加算した値とする。一方、出力ノードから入力ノードに向かう枝についての使用量は、その枝についての現在の使用量の値から1を減算した値とする。次に、S516では、変数Pの現在の値に1を加算した結果の値を改めて変数Pに代入する処理をフロー経路探索部15が行う。次に、S517では、図21AのS503と対になって表されている処理のループを終了するか否かを判定する処理をフロー経路探索部15が行う。フロー経路探索部15は、ここで、変数Pの値が自動設計を行う配線数に達したと判定したときには、この処理のループを終了する。この処理のループが終了すると、フロー経路探索処理が終了する。次に、図11のS600の処理である配線経路決定処理を説明する。図23A及び図23Bは、配線経路決定処理の処理内容を図解したフローチャートである。図23Aにおいて、S601は、図23BのS616と対になって処理のループを表している。配線経路決定部16は、ノード情報テーブル81におけるSノードについてのレコードを参照して、Sノードから流出する向きの各枝の枝番号のデータを取得し、この各枝について、S602からS615までの処理を行う。なお、S602からS615までの処理の説明では、Sノードについての上記のレコードの枝番号のデータで特定される枝を枝Eとする。S602では、枝使用量テーブル85を参照し、枝Eについてのレコードの使用量の値が1よりも小さいか否かを判定する処理を配線経路決定部16が行う。ここで、配線経路決定部16は、この使用量の値が1よりも小さく、枝Eにその向きのフローをこれ以上流すことができないと判定したとき判定結果がYesのときには、図23BのS616に処理を進める。一方、配線経路決定部16は、この使用量の値が1以上であり、枝Eにその向きのフローを流す余裕が残っていると判定したとき判定結果がNoのときには、S603に処理を進める。次に、S603では、配線経路決定部16は以下の処理を行う。まず、配線経路決定部16は、枝情報テーブル82を参照して、枝Eが向かう流入先のノードこのノードをノードNとする。についてのノード情報を取得し、取得されたノード情報を、変数Pに初期値として代入する処理を行う。また、配線経路決定部16は、変数pntに初期値として座標0,0を代入すると共に、変数netに初期値として空白ヌルデータを代入する処理を行う。配線経路決定部16は、S603において、以上の処理を行う。次のS604は、図21BのS615と対になって処理のループを表している。配線経路決定部16は、変数Pで特定されるノード以下、このノードをノードPと称することとする。がTノードとは異なるノードである限り、S605からS614までの処理を行う。次のS605は、図21BのS614と対になって処理のループを表している。配線経路決定部16は、ノード情報テーブル81におけるノードNについてのレコードを参照して、ノードNから流出する向きの各枝の枝番号のデータを取得し、この各枝について、S606からS613までの処理を行う。なお、S606からS613までの処理の説明では、ノードNについての上記のレコードの枝番号のデータで特定される枝を枝Fとする。S606では、枝使用量テーブル85を参照し、枝Fについてのレコードの使用量の値が1よりも小さいか否かを判定する処理を配線経路決定部16が行う。ここで、配線経路決定部16は、この使用量の値が1よりも小さく、枝Fにその向きのフローをこれ以上流すことができないと判定したとき判定結果がYesのときには、図23BのS611に処理を進める。一方、配線経路決定部16は、この使用量の値が1以上であり、枝Fにその向きのフローを流す余裕が残っていると判定したとき判定結果がNoのときには、S607に処理を進める。次に、S607では、変数netの現在の値が、初期値である空白のままであるか否かを判定する処理を配線経路決定部16が行う。配線経路決定部16は、ここで、変数netの値が空白であると判定したとき判定結果がYesのときにはS608に処理を進め、変数netの値が空白ではないと判定したとき判定結果がNoのときにはS609に処理を進める。なお、ここで、変数netの値が空白である場合とは、枝Fが、Sノードと枝Eを介して結ばれているノードから直接流入する枝である場合である。次に、S608では、配線経路決定部16は以下の処理を行う。まず、配線経路決定部16は、端点要素引き当てテーブル84におけるノードNのレコードを参照して、部品ピン名データを取得する処理を行う。続いて、配線経路決定部16は、論理接続情報32を参照し、部品ピン名データで示されている端子についての接続名データを取得して変数netに代入する処理を行う。次に、配線経路決定部16は、枝情報テーブル82を参照して、枝Fが向かう流入先のノードについてのノード情報を取得する。このノード情報により特定されるノードをノードOとする。そして、配線経路決定部16は、ノード情報テーブル81のノードOについてのレコードを参照し、このレコードにおける座標データを読み出して変数pntに代入する処理を行う。配線経路決定部16は、S608において以上の処理を行い、その後は、図23BのS611に処理を進める。一方、配線経路決定部16は、S609では以下の処理を行う。まず、配線経路決定部16は、S608の処理と同様に、枝情報テーブル82を参照して、枝Fが向かう流入先のノードOについてのノード情報を取得する。そして、配線経路決定部16は、ノード情報テーブル81のノードOについてのレコードを参照し、このレコードにおける座標データを読み出して変数pnt2に代入する処理を行う。次に、配線経路決定部16は、配線経路情報34における、変数netにこの時点で示されている接続名についてのレコードのデータを格納する処理を行う。この処理では、変数pntの現在の座標値で示されている位置と、変数pnt2の現在の座標値で示されている位置との間を所定幅の配線で結ぶ経路についての情報が、配線経路情報34の座標の項目に格納される。なお、層の情報は、図11のS11の処理で取得された指示に含まれている配線層の情報が、そのまま格納される。配線経路決定部16は、S609において以上の処理を行う。次に、S610では、変数pnt2の現在の座標値を変数pntに代入する処理を配線経路決定部16が行い、その後は図23BのS611に処理を進める。図23Bに進み、S611では、端点要素引き当てテーブル84を参照し、ノードOについてのレコードが端点要素引き当てテーブル84に存在するか否かを判定する処理を配線経路決定部16が行う。配線経路決定部16は、ここで、ノードOのレコードが端点要素引き当てテーブル84に存在すると判定したとき判定結果がYesのときにはS612に処理を進め、存在しないと判定したとき判定結果がNoのときにはS613に処理を進める。次に、S612では、変数netに代入されている接続名のデータを、端点要素引き当てテーブル84におけるノードOについてのレコードの接続名のデータとして、格納する処理を配線経路決定部16が行う。次に、S613では、ノードOを特定するノード情報のデータを、変数Pに代入する処理を配線経路決定部16が行う。次に、S614では、図23AのS605と対になって表されている処理のループを終了するか否かを判定する処理を配線経路決定部16が行う。配線経路決定部16は、ここで、ノード情報テーブル81のノードNについてのレコードの枝番号で示されている全ての枝について、S606からS613までの処理を済ませたと判定したときには、この処理のループを終了してS615に処理を進める。次に、S615では、図23AのS604と対になって表されている処理のループを終了するか否かを判定する処理を配線経路決定部16が行う。配線経路決定部16は、ここで、変数Pで表されているノードPがTノードに一致したと判定したときには、この処理のループを終了してS616に処理を進める。次に、S616では、図23AのS601と対になって表されている処理のループを終了するか否かを判定する処理を配線経路決定部16が行う。配線経路決定部16は、ここで、ノード情報テーブル81のSノードについてのレコードの枝番号で示されている全ての枝について、S602からS615までの処理を済ませたと判定したときには、この処理のループを終了する。この処理のループが終了すると、配線経路決定処理が終了する。次に、図11のS700の処理である、2端子部品情報交換処理及び多連集合部品情報交換処理について説明する。まず、2端子部品情報交換処理について説明する。図24A及び図24Bは、2端子部品情報交換処理の処理内容を図解したフローチャートである。図24Aにおいて、まず、S701では、各変数に初期値を代入する処理を2端子部品情報交換部17が行う。具体的には、変数P、pin_org、pin_new、net_org、net_new、及びrotateの全てに、初期値として0を代入する処理を2端子部品情報交換部17が行う。次のS702は、図24BのS720と対になって処理のループを表している。2端子部品情報交換部17は、変数Pの値が、端点要素引き当てテーブル84のレコード数に達するまで当該レコード数よりも小さい値ではなくなるまで、S703から図24BのS719までの処理を繰り返す。次に、S703では、端点要素引き当てテーブル84のP番目のレコード但し、最初のレコードを0番目とするを参照し、当該レコードの接続名データが空白ヌルデータであるか否かを判定する処理を2端子部品情報交換部17が行う。2端子部品情報交換部17は、ここで、接続名データが空白であると判定したとき判定結果がYesのときには図24BのS719に処理を進める。一方、2端子部品情報交換部17は、接続名データが空白でないと判定したとき判定結果がNoのときにはS704に処理を進める。ここで、接続名データが空白でない場合とは、当該接続名データを含むレコードのノード番号で特定されるノードが、自動設計された配線経路上に含まれていることを表している。次に、S704では、各変数に値を代入する処理を2端子部品情報交換部17が行う。具体的には、2端子部品情報交換部17は、まず、端点要素引き当てテーブル84のP番目のレコードを参照して、部品ピン名、接続名、及び反転の各データを取得する処理を行う。そして、取得された部品ピン名、接続名、及び反転の各データを、それぞれ、変数pin_org、net_new、及びrotateに代入する処理を行う。次に、S705では、変数iに初期値として0を代入する処理を2端子部品情報交換部17が行う。次のS706は、S712と対になって処理のループを表している。2端子部品情報交換部17は、変数iの値が、論理接続情報32のテーブルのレコード数に達するまで当該レコード数よりも小さい値ではなくなるまで、S707からS711までの処理を繰り返す。次に、S707では、論理接続情報32のテーブルのi番目のレコード但し、最初のレコードを0番目とするを参照し、当該レコードの接続名データが変数net_newの値に一致するか否かを判定する処理を2端子部品情報交換部17が行う。2端子部品情報交換部17は、ここで、接続名データが変数net_newの値に一致すると判定したとき判定結果がYesのときにはS708に処理を進める。一方、2端子部品情報交換部17は、ここで、接続名データが変数net_newの値とは異なると判定したとき判定結果がNoのときにはS709に処理を進める。次に、S708において、2端子部品情報交換部17は、論理接続情報32のテーブルのi番目のレコードを参照して、当該レコードの終点ピン名のデータを、変数pin_newに代入する処理を行う。次に、S709では、論理接続情報32のテーブルのi番目のレコードを参照し、当該レコードの終点ピン名データが変数pin_orgの値に一致するか否かを判定する処理を2端子部品情報交換部17が行う。2端子部品情報交換部17は、ここで、終点ピン名データが変数pin_orgの値に一致すると判定したとき判定結果がYesのときにはS710に処理を進める。一方、2端子部品情報交換部17は、ここで、接続名データが変数pin_orgの値とは異なると判定したとき判定結果がNoのときにはS711に処理を進める。次に、S710において、2端子部品情報交換部17は、論理接続情報32のテーブルのi番目のレコードを参照して、当該レコードの接続名のデータを、変数net_orgに代入する処理を行う。次に、S711では、変数iの現在の値に1を加算した結果の値を改めて変数iに代入する処理を2端子部品情報交換部17が行う。次に、S712では、S706と対になって表されている処理のループを終了するか否かを判定する処理を2端子部品情報交換部17が行う。2端子部品情報交換部17は、ここで、変数iの値が、論理接続情報32のテーブルのレコード数に達したと判定したときには、この処理のループを終了して、図24BのS713に処理を進める。図24Bに進み、S713では、端点要素引き当てテーブル84から取得した変数net_newの接続名と論理接続情報32のテーブルから取得した変数net_orgの接続名とが一致したか否かを判定する処理を2端子部品情報交換部17が行う。2端子部品情報交換部17は、ここで、両者が同一の接続名で一致したと判定したとき判定結果がYesのときには、部品の情報の交換は不要であるので、S719に処理を進める。一方、2端子部品情報交換部17は、両者の接続名が一致しなかったと判定したとき判定結果がNoのときには、S714に処理を進める。次に、S714では、部品情報33のテーブルを参照して、変数pin_orgの部品ピン名で特定される端子を有している部品についての情報が格納されているレコードの情報を取得する処理を2端子部品情報交換部17が行う。この処理により取得されたレコードの情報をpart_orgと称することとする。次に、S715では、部品情報33のテーブルを参照して、変数pin_newの部品ピン名で特定される端子を有している部品についての情報が格納されているレコードの情報を取得する処理を2端子部品情報交換部17が行う。この処理により取得されたレコードの情報をpart_newと称することとする。次に、S716では、part_orgとpart_newとの間で部品位置データ及び方向データを入れ換えて、部品情報33のテーブルに戻す処理を2端子部品情報交換部17が行う。次に、S717では、変数rotateの値が1であるか否かを判定する処理を2端子部品情報交換部17が行う。2端子部品情報交換部17は、ここで、変数rotateの値が1であると判定したとき判定結果がYesのときにはS718に処理を進める。一方、2端子部品情報交換部17は、ここで、変数rotateの値が1ではないすなわち0であると判定したとき判定結果がNoのときにはS719に処理を進める。次に、S718では、part_newの情報における部品位置、方向、及びピン位置の各データを変更する処理を2端子部品情報交換部17が行う。この処理では、この2端子部品が有している2つの端子の位置を結ぶ線分の中点を回転軸の中心として当該2端子部品を180度回転したときの位置となるように各データの変更が行われる。次に、S719では、変数Pの現在の値に1を加算した結果の値を改めて変数Pに代入する処理を2端子部品情報交換部17が行う。次に、S720では、図24AのS702と対になって表されている処理のループを終了するか否かを判定する処理を2端子部品情報交換部17が行う。2端子部品情報交換部17は、ここで、変数Pの値が、端点要素引き当てテーブル84のテーブルのレコード数に達したと判定したときには、この処理のループを終了する。この処理のループが終了すると、2端子部品情報交換処理が終了する。次に、多連集合部品情報交換処理について説明する。図25A、図25B、図25C、及び図25Dは、多連集合部品情報交換処理の処理内容を図解したフローチャートである。図25Aにおいて、まず、S751では、各変数に初期値を代入する処理を多連集合部品情報交換部18が行う。具体的には、変数P、pin_org、pin_new、net_org、net_new、group_org、及びgroup_newの全てに、初期値として0を代入する処理を多連集合部品情報交換部18が行う。次のS752は、図25DのS785と対になって処理のループを表している。多連集合部品情報交換部18は、変数Pの値が、端点要素引き当てテーブル84のレコード数に達するまで当該レコード数よりも小さい値ではなくなるまで、S753から図25DのS784までの処理を繰り返す。次に、S753では、端点要素引き当てテーブル84のP番目のレコード但し、最初のレコードを0番目とするを参照し、当該レコードの接続名データが空白ヌルデータであるか否かを判定する処理を多連集合部品情報交換部18が行う。多連集合部品情報交換部18は、ここで、接続名データが空白であると判定したとき判定結果がYesのときには図25DのS784に処理を進める。一方、多連集合部品情報交換部18は、接続名データが空白でないと判定したとき判定結果がNoのときにはS754に処理を進める。ここで、接続名データが空白でない場合とは、当該接続名データを含むレコードのノード番号で特定されるノードが、自動設計された配線経路上に含まれていることを表している。次に、S754では、各変数に値を代入する処理を多連集合部品情報交換部18が行う。具体的には、多連集合部品情報交換部18は、まず、端点要素引き当てテーブル84のP番目のレコードを参照して、部品ピン名、接続名、及び組番号の各データを取得する処理を行う。そして、取得された部品ピン名、接続名、及び組番号の各データを、それぞれ、変数pin_org、net_new、及びgroup_orgに代入する処理を行う。次に、S755では、変数iに初期値として0を代入する処理を多連集合部品情報交換部18が行う。次のS756は、S762と対になって処理のループを表している。多連集合部品情報交換部18は、変数iの値が、論理接続情報32のテーブルのレコード数に達するまで当該レコード数よりも小さい値ではなくなるまで、S757からS761までの処理を繰り返す。次に、S757では、論理接続情報32のテーブルのi番目のレコード但し、最初のレコードを0番目とするを参照し、当該レコードの接続名データが変数net_newの値に一致するか否かを判定する処理を多連集合部品情報交換部18が行う。多連集合部品情報交換部18は、ここで、接続名データが変数net_newの値に一致すると判定したとき判定結果がYesのときにはS758に処理を進める。一方、多連集合部品情報交換部18は、ここで、接続名データが変数net_newの値とは異なると判定したとき判定結果がNoのときにはS759に処理を進める。次に、S758において、多連集合部品情報交換部18は、論理接続情報32のテーブルのi番目のレコードを参照して、当該レコードの終点ピン名のデータを、変数pin_newに代入する処理を行う。次に、S759では、論理接続情報32のテーブルのi番目のレコードを参照し、当該レコードの終点ピン名データが変数pin_orgの値に一致するか否かを判定する処理を多連集合部品情報交換部18が行う。多連集合部品情報交換部18は、ここで、終点ピン名データが変数pin_orgの値に一致すると判定したとき判定結果がYesのときにはS760に処理を進める。一方、多連集合部品情報交換部18は、ここで、接続名データが変数pin_orgの値とは異なると判定したとき判定結果がNoのときにはS761に処理を進める。次に、S760において、多連集合部品情報交換部18は、論理接続情報32のテーブルのi番目のレコードを参照して、当該レコードの接続名のデータを、変数net_orgに代入する処理を行う。次に、S761では、変数iの現在の値に1を加算した結果の値を改めて変数iに代入する処理を多連集合部品情報交換部18が行う。次に、S762では、S756と対になって表されている処理のループを終了するか否かを判定する処理を多連集合部品情報交換部18が行う。多連集合部品情報交換部18は、ここで、変数iの値が、論理接続情報32のテーブルのレコード数に達したと判定したときには、この処理のループを終了して、図25BのS763に処理を進める。図25Bに進み、S763では、端点要素引き当てテーブル84から取得した変数net_newの接続名と論理接続情報32のテーブルから取得した変数net_orgの接続名とが一致したか否かを判定する処理を多連集合部品情報交換部18が行う。多連集合部品情報交換部18は、ここで、両者が同一の接続名で一致したと判定したとき判定結果がYesのときには、部品の情報の交換は不要であるので、S719に処理を進める。一方、多連集合部品情報交換部18は、両者の接続名が一致しなかったと判定したとき判定結果がNoのときには、S764に処理を進める。次に、S764では、変数jに初期値として0を代入する処理を多連集合部品情報交換部18が行う。次のS765は、S769と対になって処理のループを表している。多連集合部品情報交換部18は、変数jの値が、端点要素引き当てテーブル84のレコード数に達するまで当該レコード数よりも小さい値ではなくなるまで、S766からS768までの処理を繰り返す。次に、S766では、端点要素引き当てテーブル84のj番目のレコード但し、最初のレコードを0番目とするを参照し、当該レコードの部品ピン名データが変数pin_newの値に一致するか否かを判定する処理を多連集合部品情報交換部18が行う。多連集合部品情報交換部18は、ここで、部品ピン名データが変数pin_newの値に一致すると判定したとき判定結果がYesのときにはS767に処理を進める。一方、多連集合部品情報交換部18は、ここで、部品ピン名データが変数pin_newの値とは異なると判定したとき判定結果がNoのときにはS768に処理を進める。次に、S767において、多連集合部品情報交換部18は、端点要素引き当てテーブル84のj番目のレコードを参照して、当該レコードの組番号のデータを、変数group_newに代入する処理を行う。次に、S768では、変数jの現在の値に1を加算した結果の値を改めて変数Pに代入する処理を多連集合部品情報交換部18が行う。次に、S769では、S765と対になって表されている処理のループを終了するか否かを判定する処理を多連集合部品情報交換部18が行う。多連集合部品情報交換部18は、ここで、変数jの値が、端点要素引き当てテーブル84のテーブルのレコード数に達したと判定したときには、この処理のループを終了して、図25CのS770に処理を進める。図25Cに進み、S770では、各変数に初期値を代入する処理を多連集合部品情報交換部18が行う。具体的には、変数k、pin_org_op、及びpin_new_opの全てに、初期値として0を代入する処理を多連集合部品情報交換部18が行う。次のS771は、S777と対になって処理のループを表している。多連集合部品情報交換部18は、変数kの値が、端点要素引き当てテーブル84のレコード数に達するまで当該レコード数よりも小さい値ではなくなるまで、S772からS776までの処理を繰り返す。次に、S772では、以下の処理を多連集合部品情報交換部18が行う。多連集合部品情報交換部18は、まず、端点要素引き当てテーブル84のk番目のレコード但し、最初のレコードを0番目とするを参照して、当該レコードの組番号データと部品ピン名データとを取得する処理を行う。次に、多連集合部品情報交換部18は、取得した組番号データと変数group_newとの一致不一致、及び、取得した部品ピン名データと変数pin_newとの一致不一致を判定する処理を行う。多連集合部品情報交換部18は、ここで、組番号データと変数group_newとが一致し、且つ、組番号データと変数group_newとが不一致である場合にのみ、その判定結果をYesとしてS773に処理を進める。一方、この他の場合には、多連集合部品情報交換部18は、その判定結果をNoとしてS774に処理を進める。多連集合部品情報交換部18は、S772において、以上の処理を行う。次に、S773では、多連集合部品情報交換部18は、端点要素引き当てテーブル84のk番目のレコードの部品ピン名のデータを、変数pin_new_opに代入する処理を行う。次に、S774では、以下の処理を多連集合部品情報交換部18が行う。多連集合部品情報交換部18は、まず、端点要素引き当てテーブル84のk番目のレコード但し、最初のレコードを0番目とするを参照して、当該レコードの組番号データと部品ピン名データとを取得する処理を行う。次に、多連集合部品情報交換部18は、取得した組番号データと変数group_orgとの一致不一致、及び、取得した部品ピン名データと変数pin_orgとの一致不一致を判定する処理を行う。多連集合部品情報交換部18は、ここで、組番号データと変数group_orgとが一致し、且つ、組番号データと変数group_orgとが不一致である場合にのみ、その判定結果をYesとしてS775に処理を進める。一方、この他の場合には、多連集合部品情報交換部18は、その判定結果をNoとしてS776に処理を進める。多連集合部品情報交換部18は、S774において、以上の処理を行う。次に、S775では、多連集合部品情報交換部18は、端点要素引き当てテーブル84のk番目のレコードの部品ピン名のデータを、変数pin_org_opに代入する処理を行う。次に、S776では、変数kの現在の値に1を加算した結果の値を改めて変数Pに代入する処理を多連集合部品情報交換部18が行う。次に、S777では、S771と対になって表されている処理のループを終了するか否かを判定する処理を多連集合部品情報交換部18が行う。多連集合部品情報交換部18は、ここで、変数kの値が、端点要素引き当てテーブル84のテーブルのレコード数に達したと判定したときには、この処理のループを終了して、図25DのS778に処理を進める。図25Dに進み、S778では、論理接続情報32のテーブルを参照して、終点ピン名データが変数pin_orgの部品ピン名データと一致しているレコードの情報を取得する処理を多連集合部品情報交換部18が行う。この処理により取得されたレコードの情報をconnect_orgと称することとする。次に、S779では、論理接続情報32のテーブルを参照して、終点ピン名データが変数pin_newの部品ピン名データと一致しているレコードの情報を取得する処理を多連集合部品情報交換部18が行う。この処理により取得されたレコードの情報をconnect_newと称することとする。次に、S780では、論理接続情報32のテーブルを参照して、終点ピン名データが変数pin_org_opの部品ピン名データと一致しているレコードの情報を取得する処理を多連集合部品情報交換部18が行う。この処理により取得されたレコードの情報をconnect_org_opと称することとする。次に、S781では、論理接続情報32のテーブルを参照して、終点ピン名データが変数pin_new_opの部品ピン名データと一致しているレコードの情報を取得する処理を多連集合部品情報交換部18が行う。この処理により取得されたレコードの情報をconnect_new_opと称することとする。次に、S782では、connect_orgとconnect_newとの間で終点ピン名データを入れ換えて、論理接続情報32のテーブルに戻す処理を多連集合部品情報交換部18が行う。次に、S783では、connect_org_opとconnect_new_opとの間で終点ピン名データを入れ換えて、論理接続情報32のテーブルに戻す処理を多連集合部品情報交換部18が行う。次に、S784では、変数Pの現在の値に1を加算した結果の値を改めて変数Pに代入する処理を多連集合部品情報交換部18が行う。次に、S785では、図25AのS752と対になって表されている処理のループを終了するか否かを判定する処理を多連集合部品情報交換部18が行う。多連集合部品情報交換部18は、ここで、変数Pの値が、端点要素引き当てテーブル84のテーブルのレコード数に達したと判定したときには、この処理のループを終了する。この処理のループが終了すると、多連集合部品情報交換処理が終了する。以上の各処理をMPU10が行うことによって、配線経路の自動設計を、図1の配線設計支援装置1が行えるようになる。次に、プリント配線板上の配線を用いて差動信号を伝送する場合における、配線設計支援装置1による当該配線の経路についての自動設計について、図26A及び図26Bについて説明する。差動信号を伝送する場合は、図26Aの配線経路例のように、一対の差動信号を伝送する2線1組の差動信号伝送用配線91の経路を、なるべく平行になるように配置することが好ましい。そこで、この場合には、まず、差動信号における伝送元である一対の端子と伝送先である一対の端子との双方から、ポジティブ側の端子若しくはネガティブ側の端子のどちらかを選択する。次に、選択された側の端子間を接続する配線経路の自動設計を、配線設計支援装置1に行わせるようにする。そして、この自動設計により得られた配線経路を、配線設計支援装置1の差動信号配線置換部19が、2線1組の平行配線である差動信号配線に置換する。図26Bのフローネットワークの作成例は、配線設計支援装置1が差動信号配線の自動設計を行う場合のものである。この図26Bにおいて、1P、1N、2P、2N、...、10P、10Nは、それぞれ、差動信号配線による配線対象の端子の位置を表しており、Pはポジティブ側端子を、また、Nはネガティブ側端子を、それぞれ表している。また、格子点Aは、差動信号の入力若しくは出力を行う一対の端子であるポジティブ側端子1Pとネガティブ側端子1Nとのうちから選択された端子の位置に最も近い格子点である。また、格子点B~Jについても同様であり、それぞれ、端子2P、2N~10P、10Nのうちから選択された端子の位置に最も近い格子点である。なお、ここではポジティブ側端子1P、2P、...、10Pが選択されたものとして、以降の説明を行う。このようにして結線を行う格子点を特定した後は、図7の場合と同様にしてフローネットワークの作成を行う。図26Bの例は、格子点A~Eにそれぞれ枝を介して始点Sが接続され、当格子点F~Jにそれぞれ枝を介して終点Tが接続された状態を表している。この後、配線設計支援装置1は、前述したようにして、フロー経路の探索と、その探索結果に基づく配線経路の決定を行って、ポジティブ側端子1P~5Pと6P~10Pとを接続する5本の配線経路が決定される。ここで、差動信号配線置換部19は、この5本の配線経路の各々を、2線1組の平行配線に置換する。そして、この平行配線の一方の配線をポジティブ側端子1P~5Pと6P~10Pとの配線経路とし、その他方の配線をネガティブ側端子1N~5Nと6N~10Nとの配線経路として各端子に配線を接続する。このようにすることで、差動信号の伝送に好適である、一対の配線を平行に配置した区間を有する経路についての自動設計も、図1の配線設計支援装置1で行うことができる。なお、この差動信号配線の経路の自動設計を行う場合には、置換後の平行配線による配線間の短絡や配線禁止領域への侵入を防止するために、有向グラフ定義部11が定義する格子における格子点の間隔を、通常の配線経路の場合よりも広くすることが好ましい。なお、以上までに説明した実施形態に関し、更に以下の付記を開示する。付記1プリント配線板での配線経路の設計を支援する装置であって、格子点をノードとし、隣接する格子点間を結ぶ線分を枝とする有向グラフを、前記配線経路を作成する対象領域面上に定義する有向グラフ定義部と、前記対象領域面上において配線の配置が禁止される領域の位置を示す配線禁止領域情報についての入力を取得する配線禁止領域情報取得部と、前記対象領域面上に定義されている前記格子点のうちで、複数の配線の各々によってそれぞれ結ばれる複数組の格子点の組の情報である結線情報についての入力を取得する結線情報取得部と、前記有向グラフを構成している枝のうちで、前記配線禁止領域情報で示されている領域内に位置している格子点に繋がっている枝に対しフロー容量を0に設定すると共に、その他の枝に対しフロー容量を1に設定し、更に、前記複数組の格子点の各組に属している一対の格子点に、フロー容量が1である枝を介してフローの始点と終点とをそれぞれ接続することで、フローネットワークを作成するフローネットワーク作成部と、前記フローネットワーク作成部が各枝について設定した前記フロー容量の下で前記始点から前記終点へのフロー量が最大となるフローの経路を、前記フローネットワークから探索するフロー経路探索部と、前記フロー経路探索部による前記経路の探索結果に従って、前記結線情報で示されている複数組の格子点の各組に属している前記一対の格子点を各々結ぶ前記複数の配線の経路を決定する配線経路決定部と、を備えることを特徴とする配線設計支援装置。付記2前記格子点の間隔は、前記対象領域面上での前記配線における線幅及び配線間隔の定義に基づいて設定されることを特徴とする付記1に記載の配線設計支援装置。付記3前記結線情報取得部は、前記配線により接続を行う端子の前記対象領域面上での配置位置の情報の入力から、該端子と前記格子点との対応関係を示す対応関係情報を生成し、該対応関係情報と該配線により接続を行う端子を特定する論理接続情報の入力とに基づいて前記結線情報を生成することを特徴とする付記1又は2に記載の配線設計支援装置。付記4前記論理接続情報により特定されている前記配線により接続を行う端子が2端子部品の一方の端子である場合には、前記結線情報取得部は、該2端子部品における他方の端子と前記格子点とに対しての前記対応関係情報を更に生成し、前記フローネットワーク作成部は、前記場合においては、前記2端子部品ついての中継ノードを新規に定義して、前記一方の端子に対応する格子点と前記始点若しくは前記終点とを接続する枝の途中に該中継ノードを挿入し、更に、前記対応関係情報において前記他方の端子との対応関係が示されている格子点と該中継ノードとをフロー容量が1である枝を介して接続し、前記配線設計支援装置は、前記配線経路決定部が経路を決定した配線により接続される一方の接続先が前記2端子部品における前記他方の端子となった場合に、該配線により接続を行う端子の前記対象領域面上での配置位置についての前記入力された情報を変更して、該他方の端子についての該情報と該2端子部品における前記一方の端子についての該情報とを交換することによって、該配線により接続される端子を前記論理接続情報で特定される端子に一致させる2端子部品情報交換部を更に備える、ことを特徴とする付記3に記載の配線設計支援装置。付記5前記2端子部品情報交換部は、更に、前記配線経路決定部が経路を決定した複数の配線に、接続を行う一方の接続先が同一形状の2端子部品である配線が少なくとも2つ存在することとなった場合に、該配線により接続を行う端子の前記対象領域面上での配置位置についての前記入力された情報を変更して、そのうちの1の配線に接続される2端子部品の端子についての該情報と、そのうちの別の1の配線に接続される、該2端子部品とは別の2端子部品の端子についての該情報とを交換することによって、該1の配線により接続される端子を前記論理接続情報で特定される端子に一致させることを特徴とする付記4に記載の配線設計支援装置。付記6前記配線経路決定部が経路を決定した複数の配線に、接続を行う一方の接続先が同一形状の多連集合部品である配線が少なくとも2つ存在することとなった場合に、該配線により接続を行う端子の前記対象領域面上での配置位置についての前記入力された情報を変更して、そのうちの1の配線に接続される多連集合部品の端子についての該情報と、そのうちの別の1の配線に接続される、当該多連集合部品の他の端子若しくは該多連集合部品とは別の多連集合部品の端子についての該情報とを交換することによって、該1の配線により接続される端子を前記論理接続情報で特定される端子に一致させる多連集合部品情報交換部を更に備えることを特徴とする付記3から5のうちのいずれか一項に記載の配線設計支援装置。付記7前記配線経路決定部が経路を決定した配線を、2線1組の平行配線である差動信号配線に置換する差動信号配線置換部を更に備えることを特徴とする付記1から6のうちのいずれか一項に記載の配線設計支援装置。付記8プリント配線板での配線経路の設計を支援する方法であって、格子点をノードとし、隣接する格子点間を結ぶ線分を枝とする有向グラフを、前記配線経路を作成する対象領域面上に定義し、前記対象領域面上において配線の配置が禁止される領域の位置を示す配線禁止領域情報についての入力を取得し、前記対象領域面上に定義されている前記格子点のうちで、複数の配線の各々によってそれぞれ結ばれる複数組の格子点の組の情報である結線情報についての入力を取得し、前記有向グラフを構成している枝のうちで、前記配線禁止領域情報で示されている領域内に位置している格子点に繋がっている枝に対しフロー容量を0に設定すると共に、その他の枝に対しフロー容量を1に設定し、更に、前記複数組の格子点の各組に属している一対の格子点に、フロー容量が1である枝を介してフローの始点と終点とをそれぞれ接続することで、フローネットワークを作成し、前記枝の各々について設定した前記フロー容量の下で前記始点から前記終点へのフロー量が最大となるフローの経路を、前記フローネットワークから探索し、前記経路の探索結果に従って、前記結線情報で示されている複数組の格子点の各組に属している前記一対の格子点を各々結ぶ前記複数の配線の経路を決定する、ことを特徴とする配線設計支援方法。付記9前記格子点の間隔は、前記対象領域面上での前記配線における線幅及び配線間隔の定義に基づいて設定されることを特徴とする付記8に記載の配線設計支援方法。付記10前記結線情報についての入力を取得するときには、前記配線により接続を行う端子の前記対象領域面上での配置位置の情報の入力から、該端子と前記格子点との対応関係を示す対応関係情報を生成し、該対応関係情報と該配線により接続を行う端子を特定する論理接続情報の入力とに基づいて前記結線情報を生成することを特徴とする付記8又は9に記載の配線設計支援方法。付記11前記論理接続情報により特定されている前記配線により接続を行う端子が2端子部品の一方の端子である場合には、前記結線情報についての入力を取得するときに、該2端子部品における他方の端子と前記格子点とに対しての前記対応関係情報を更に生成し、前記フローネットワークを作成するときに、前記場合においては、前記2端子部品ついての中継ノードを新規に定義して、前記一方の端子に対応する格子点と前記始点若しくは前記終点とを接続する枝の途中に該中継ノードを挿入し、更に、前記対応関係情報において前記他方の端子との対応関係が示されている格子点と該中継ノードとをフロー容量が1である枝を介して接続し、前記配線の経路の決定によって決定された配線により接続される一方の接続先が前記2端子部品における前記他方の端子となった場合には、該配線により接続を行う端子の前記対象領域面上での配置位置についての前記入力された情報を変更して、該他方の端子についての該情報と該2端子部品における前記一方の端子についての該情報とを交換することによって、該配線により接続される端子を前記論理接続情報で特定される端子に一致させる、ことを特徴とする付記10に記載の配線設計支援方法。付記12前記配線の経路の決定によって決定された複数の配線に、接続を行う一方の接続先が同一形状の2端子部品である配線が少なくとも2つ存在することとなった場合には、該配線により接続を行う端子の前記対象領域面上での配置位置についての前記入力された情報を変更して、そのうちの1の配線に接続される2端子部品の端子についての該情報と、そのうちの別の1の配線に接続される、該2端子部品とは別の2端子部品の端子についての該情報とを交換することによって、該1の配線により接続される端子を前記論理接続情報で特定される端子に一致させることを特徴とする付記11に記載の配線設計支援方法。付記13前記配線の経路の決定によって決定された複数の配線に、接続を行う一方の接続先が同一形状の多連集合部品である配線が少なくとも2つ存在することとなった場合には、該配線により接続を行う端子の前記対象領域面上での配置位置についての前記入力された情報を変更して、そのうちの1の配線に接続される多連集合部品の端子についての該情報と、そのうちの別の1の配線に接続される、当該多連集合部品の他の端子若しくは該多連集合部品とは別の多連集合部品の端子についての該情報とを交換することによって、該1の配線により接続される端子を前記論理接続情報で特定される端子に一致させることを特徴とする付記10から12のうちのいずれか一項に記載の配線設計支援方法。付記14プリント配線板での配線経路の設計支援をコンピュータに実行させるプログラムであって、格子点をノードとし、隣接する格子点間を結ぶ線分を枝とする有向グラフを、前記配線経路を作成する対象領域面上に定義し、前記対象領域面上において配線の配置が禁止される領域の位置を示す配線禁止領域情報についての入力を取得し、前記対象領域面上に定義されている前記格子点のうちで、複数の配線の各々によってそれぞれ結ばれる複数組の格子点の組の情報である結線情報についての入力を取得し、前記有向グラフを構成している枝のうちで、前記配線禁止領域情報で示されている領域内に位置している格子点に繋がっている枝に対しフロー容量を0に設定すると共に、その他の枝に対しフロー容量を1に設定し、更に、前記複数組の格子点の各組に属している一対の格子点に、フロー容量が1である枝を介してフローの始点と終点とをそれぞれ接続することで、フローネットワークを作成し、前記枝の各々について設定した前記フロー容量の下で前記始点から前記終点へのフロー量が最大となるフローの経路を、前記フローネットワークから探索し、前記経路の探索結果に従って、前記結線情報で示されている複数組の格子点の各組に属している前記一対の格子点を各々結ぶ前記複数の配線の経路を決定する、処理を前記コンピュータに実行させることを特徴とするプログラム。付記15前記格子点の間隔は、前記対象領域面上での前記配線における線幅及び配線間隔の定義に基づいて設定されることを特徴とする付記14に記載のプログラム。付記16前記結線情報についての入力を取得するときには、前記配線により接続を行う端子の前記対象領域面上での配置位置の情報の入力から、該端子と前記格子点との対応関係を示す対応関係情報を生成し、該対応関係情報と該配線により接続を行う端子を特定する論理接続情報の入力とに基づいて前記結線情報を生成することを特徴とする付記14又は15に記載のプログラム。付記17前記論理接続情報により特定されている前記配線により接続を行う端子が2端子部品の一方の端子である場合には、前記結線情報についての入力を取得するときに、該2端子部品における他方の端子と前記格子点とに対しての前記対応関係情報を更に生成し、前記フローネットワークを作成するときに、前記場合においては、前記2端子部品ついての中継ノードを新規に定義して、前記一方の端子に対応する格子点と前記始点若しくは前記終点とを接続する枝の途中に該中継ノードを挿入し、更に、前記対応関係情報において前記他方の端子との対応関係が示されている格子点と該中継ノードとをフロー容量が1である枝を介して接続し、前記配線の経路の決定によって決定された配線により接続される一方の接続先が前記2端子部品における前記他方の端子となった場合には、該配線により接続を行う端子の前記対象領域面上での配置位置についての前記入力された情報を変更して、該他方の端子についての該情報と該2端子部品における前記一方の端子についての該情報とを交換することによって、該配線により接続される端子を前記論理接続情報で特定される端子に一致させる処理を前記コンピュータに更に実行させる、ことを特徴とする付記16に記載のプログラム。付記18前記配線の経路の決定によって決定された複数の配線に、接続を行う一方の接続先が同一形状の2端子部品である配線が少なくとも2つ存在することとなった場合には、該配線により接続を行う端子の前記対象領域面上での配置位置についての前記入力された情報を変更して、そのうちの1の配線に接続される2端子部品の端子についての該情報と、そのうちの別の1の配線に接続される、該2端子部品とは別の2端子部品の端子についての該情報とを交換することによって、該1の配線により接続される端子を前記論理接続情報で特定される端子に一致させる処理を前記コンピュータに更に実行させることを特徴とする付記17に記載のプログラム。付記19前記配線の経路の決定によって決定された複数の配線に、接続を行う一方の接続先が同一形状の多連集合部品である配線が少なくとも2つ存在することとなった場合には、該配線により接続を行う端子の前記対象領域面上での配置位置についての前記入力された情報を変更して、そのうちの1の配線に接続される多連集合部品の端子についての該情報と、そのうちの別の1の配線に接続される、当該多連集合部品の他の端子若しくは該多連集合部品とは別の多連集合部品の端子についての該情報とを交換することによって、該1の配線により接続される端子を前記論理接続情報で特定される端子に一致させる処理を前記コンピュータに更に実行させることを特徴とする付記16から18のうちのいずれか一項に記載のプログラム。"