船舶のように狭隘空間において機器配置を含めた配管設計を行う場合は、 単にパイプやバルブ同士がぶつからないよう配置するだけでなく、 配管が施された空間へ作業員が入ってバルブを操作できるよう出入口からバルブまで空間を適切に空けるなど, 設計作業には高度な熟練を要する。 この高度な設計作業をコンピュータにより自動的に行わせ、 団塊世代のベテラン技術者の大量退職へ対処することが期待されているが、自動化は大変困難である。 その大きな原因は、設計案の評価項目が複雑多岐にわたり、 さらにそれらの評価が明確に数値化されていない点にあると考えられる。そこで、
バルブは通常手動で操作される。
ここで、作業員がバルブを操作できるように通路や出入り口からバルブまでに十分な空間を確保しなければならない。
これを「バルブ操作性」における「可アクセス性」と呼んでいる。
またバルブがアクセス可能であっても設置の位置や高さなどによって操作しにくかったりロッドなど専用ツールが必要になる場合があり
これを「可ハンドル性」と呼んでいる。
著者らは、配管設計案に対するこれらバルブ操作性評価を数値化する方法として、
塗りつぶしアルゴリズムを提案した (4) (5) 。
これは、設計案に従ってパイプやバルブが配置された空間を等間隔のメッシュに分割し、
人間の形状をメッシュで模した配列をブラシのように動かして障害物やパイプ等と干渉せずに動ける領域を塗りつぶしていくことにより、
作業員のアクセス可能領域を判定するものである。
後は各バルブが作業員のアクセス可能領域に面しているかどうかを判定したり、
アクセス可能領域を移動してバルブに到達するのに必要なカロリーを計算することによりバルブ操作性を数値化できる。
「バルブ操作性評価の数値化」スライドによる説明(ValveOperability.pdf, 547KB)
配管設計を行うにあたり、以下の情報が予め与えられていなければならない:
【設計対象空間】
----------------------------------------------------------------------------------
以上の情報を基にして、自動配管設計システムは以下の設計パラメータを探索し出力する:
探索すべき設計パラメータは機器の位置座標と設置方向、 およびそれらに繋がる全パイプの経路を示すエルボの座標リストであり、 これらパラメータ集合を遺伝子とする。 ただし、機器の座標と方向パラメータは、各機器の座標と設置方向を遺伝子1単位とする。 また、パイプの始点と終点の座標はそれぞれに繋がる機器の位置座標と設置方向に依存することから、 パイプ経路パラメータは各機器の遺伝子に付属する可変長の遺伝子とする。
遺伝的アルゴリズムにおいて探索性能を最大限に引き出すためには、 2つの異なる設計案(親個体)からそれらの特徴を受け継いだ新しい設計案(子個体)を生成するための適切な交叉オペレーションを定義することが極めて重要である。 これは対象問題の種類毎に開発しなければならない。 著者らは、3-2節で述べたように「T分岐」もバルブ等と同等な機器の一種とすることで、 配管設計問題を機器の配置問題と分岐の無い単純なパイプ配置問題という2つの単純な問題の組合わせとして表現したことにより、 以下のように直感的で妥当な交叉方法を提案した。 まず交叉オペレーションにより親個体AおよびBの遺伝子から子個体Cの遺伝子を生成するものとする。 子個体Cにおける機器の座標と設置方向は、 対応する機器の座標と設置方向を親AまたはBのどちらかより確率50%で継承する。 このとき、機器同士の位置が干渉せず、 また少なくとも1つ以上の機器を異なるほうの親個体から継承した機器の組合せが見つかるまで処理をやり直す。 条件を満たす機器配置と方向の組合せが見つかったら、 これら機器同士を結ぶ配管経路を以下の手順で生成する。 まず、親Aから継承された機器同士を結ぶ配管経路は、 親Aの対応する配管経路を子個体Cへそのまま継承する。 同様に親Bから継承された機器同士を結ぶ配管経路は、親Bのものを子個体Cへそのまま継承する。 親Aから継承した機器と親Bから継承した機器を結ぶ配管経路は、 親Aからの機器に接続されている親Aのパイプを途中の任意のエルボで切断し、 親Bから継承した機器に接続されている親Bのパイプも途中の任意のエルボで切断し、 切断された部分同士を新しいパイプでエルボ3個以下を用いて接続する。 パイプ同士あるいはパイプと機器が干渉する場合は、親から継承するパイプの切断位置をランダムに変えてパイプ経路を引き直す。 このとき、他の要素との干渉箇所の多いパイプから優先的に引き直す。
第9図に交叉オペレーションの模式図を示す。 子個体は、親Aからバルブ1とバルブ2およびT分岐3を受け継ぎ、 親BからT分岐1と2を受け継いでいる。パイプについてはそれぞれの親から引き継いだ機器に接続されているパイプ経路を引き継ぐが、 途切れている部分については第9図の点線で示されている部分のように新しく引き直す。
この交叉処理では、処理が無限ループへ陥ることを回避するため、 子個体Cの生成時に、機器配置の処理のやり直しやパイプの引き直しをある上限回数行っても実行可能解を得られない場合は交叉失敗として親個体の選択からやり直しを行っている。
遺伝的アルゴリズムでは、 前節で説明した交叉オペレーションの他、 突然変異オペレーションなどを用いて解候補を改善していくが、 それに先立ち実行可能な(致死解ではない)初期解候補を生成しておかなければならない。 一般に第10図の例のようにランダムに生成されるが、 著者らは総パイプ長の短い初期配置を得るため、自己組織化機器配置法 (5) を提案した。
第11図に示すように、まず任意の移動可能な機器を1つ選択し、 その機器と接続された相手先機器の位置座標を調べ、 注目している機器の位置座標をそれら接続先機器の位置座標の中点に最も近い配置可能な座標点候補へ修正する (実際にはパイプの太さも考慮するため、接続相手先座標をパイプ径で重み付けする)。 このとき注目する機器の設置方向は、 接続するパイプ長が最小になる方向に修正される。 このような処理を全ての移動可能な機器についてランダムに選択して適用することにより、 全体として配管経路に無駄のないすっきりした機器配置が自発的に形成される。 ただしこのままではデザイン対象空間内に多数の障害物が存在する場合には対処が困難であり、 またバルブ操作性などについては考慮できないなどの問題があるため、 あくまでも遺伝的アルゴリズムの初期解として使用する。 第12図に本手法で得られた機器配置図の例を示す。 第10図のランダム配置と比べ、明らかにパイプの無駄な引き回しが減っている。
機器配置およびパイプの分岐を扱う自動設計システムを第13図に示す系統図に基づく配管設計へ適用した結果得た設計案の例を第14図に示す。 第13図のCP0からCP3までのパイプの接続点とPump000で示されたポンプの位置は予め固定して与え、 バルブとパイプおよびT分岐を自動設計により配置している。 透明な直方体で示された空間は予め通路として使用するよう定義されており、 各バルブからのの通路空間へ伸びている点線は、 作業員が通路から各パイプへ最小カロリーで移動できる経路を表している。
本システムは多目的遺伝的アルゴリズムを利用しているので、 第14図のような設計案を1つだけ出力するのではなく、 パイプコストが小さい設計案やバルブ操作性に優れた設計案、 バランスのとれた設計案など複数の解(パレート解)を同時に獲得する。 ユーザはその中から設計案を好みや他の評価規範に基づいて選択可能である。
本稿では、配管設計作業の自動化へ向けた著者らの接近法について紹介した。 ここで紹介したシステムは、情報の入力形式や設計案の出力形式としてXML (extensive markup language) を使用し、 機器の取りうる姿勢などの制約を簡単に指示できるようになっている。 また通路として使用する領域やパイプラックを想定した領域の指示なども同様に指示できる。 配管に関するさらに一般的な設計指針として、 例えばパイプ内部の液体を重力によって流すため「たまり」を作らないための上下方向への配管に対する制約や、 電気機器の上に配管しないといったルール、 また熱収縮を吸収するフレキシビリティを持たせるため、 わざとベンドを有する経路にするなどの知識・ルールなどが挙げられる。 将来的なルール変更や設計指針の変更に対処していくためには、 これらの制約条件や設計指針をXMLで記述してシステムへ指示することが望ましい。 このようなルールや設計指針をどのようにして表現すべきかについては今後の課題である。